Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Dimtos

Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день! Написал скрипт, проверяющий размер БД на ПК (там где размер >= 200 Мб). БД лежит на C:\Exec\db\exec.gdb. Нужно проверить диапазон ip 10.1.*.161 - 10.1.*.202, где * диапазон от 10 до 255. Всё замечательно, но строчка


Код: Выделить весь код
FOR %%I IN (%MASK%) DO IF EXIST %%I SET SIZE=%%~zI
всё время возвращает в %SIZE% значение первого ПК (10.1.10.161). Помогите, пожалуйста, найти ошибку или обходной способ решения задачи. Спасибо!

Код: Выделить весь код
set /a podset =10
set /a ip =161
set fsz=0
set MASK= T:\Exec\db\exec.gdb
 
:pod1
set ipfull=10.1.%podset%.%ip%
if %ip%==202 goto pod2
if %podset%==255 goto exit
set /a ip =%ip%+1
:back
net use T: /d
Ping -n 3 %IPFULL%
echo pingerrorlevel %errorlevel%
If %errorlevel% geq 1 (Goto REZULT1)
 
net use T: \\%IPFULL%\c$ pass1 /user:login1
if "%errorlevel%"=="0"  (goto weiter)
 
net use T: \\%IPFULL%\c$ pass2 /user:login2
if "%errorlevel%"=="0" (goto weiter)
 
net use T: \\%IPFULL%\c$ pass3  /user:login3
if "%errorlevel%"=="0" (goto weiter)
 
net use T: \\%IPFULL%\c$ pass4 /user:login4
if "%errorlevel%"=="0" (goto weiter)
 
net use T: \\%IPFULL%\c$ pass5 /user:login5
if "%errorlevel%"=="0" (goto weiter)
 
:weiter
FOR %%I IN (%MASK%) DO IF EXIST %%I SET SIZE=%%~zI
set /a filesize=(%size%/1024/1024)
if "%filesize%" geq "200" (echo %SIZE% >> execSize.txt)&(echo %IPFULL% >> execSize.txt)&(echo %filesize% >> execSize.txt)&(echo ------- >> execSize.txt)
:REZULT1
goto pod1
 
:pod2
set /a podset =%podset%+1
set /a ip =161
goto pod1
 
:exit
pause
exit

Отправлено: 21:22, 21-08-2008 | #287