GreaseOD
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Всем привет. Помогите плиз организовать скрипт, который из файла читает список айпишников, подставляет первый айпишник в переменную, пингует, если ошибка то пишет в свой лог об ошибке и начинает читать следующий айпи по списку, Если пинг удачный подключается и копирует файл, если файл не существует то опять пиешет в свой лог и переходит к др компу, Если файл есть то открывает его и проверяет на определенные фразы (постоянные) внутри файла, если находит фразу то пишет в свой лог и переходит к след. У меня проблема в том, что когда я задаю цикл FOR и открываю скобку DO (, затем указываю что делать в цикле и кучу меток - цикл обрывается и выполняется только для одного компьютера. Файл Cashlist.txt 192.168.0.2 192.168.0.3 192.168.0.4 192.168.0.5 итд Вобщем из скрипта будет понятнее: @echo on IF EXIST Report.log DEL Report.log /q @echo Start>Report.log SET dtx=%date:~0,10% FOR /F %%i IN (Cashlist.txt) DO ( ping -n 1 %%i IF ERRORLEVEL 1 GOTO ping net use \\%%i\ipc$ /user:administrator пароль) IF NOT EXIST \\%%i\c$\temp\standalone\outbound\*DMC.txt GOTO file copy \\%%i\c$\temp\standalone\outbound\*DMC.txt %temp%.\ ping -n 5 %%i grep -q "No Resource ZIP files found in Inbound ZIP directory" %temp%.\*DMC.TXT>tmpstand.txt findstr %dtx% tmpstand.txt IF ERRORLEVEL==1 GOTO Doesn1 IF ERRORLEVEL==0 SET L1=No Resource ZIP files GOTO Record oesn1 grep -q "Finished with success" %temp%.\*DMC.TXT>tmpstand.txt findstr %dtx% tmpstand.txt IF ERRORLEVEL==1 GOTO Doesn2 IF ERRORLEVEL==0 SET L1=Ok GOTO Record oesn2 grep -q "The user aborted the request" %temp%.\*DMC.TXT>tmpstand.txt findstr %dtx% tmpstand.txt IF ERRORLEVEL==1 GOTO Doesn3 IF ERRORLEVEL==0 SET L1=Bad archive GOTO Record oesn3 grep -q "Checking finished with errors" %temp%.\*DMC.TXT>tmpstand.txt findstr %dtx% tmpstand.txt IF ERRORLEVEL==1 GOTO Doesn4 IF ERRORLEVEL==0 SET L1=Database Suspect GOTO Record oesn4 SET L1=Another GOTO Record ing SET L1="Can't connect" @echo %L1%>>Report.log GOTO end :File SET L1="File doesn't exist" @echo %L1%>>Report.log GOTO end :Record echo %L1% >> Report.log :end ) |