Alex_Piggy
Advanced Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору Доброе утро всем. ihere Пожалуйста, проверьте первый батник еще раз. Я проверял на следующих параметрах - set "interval_minutes=0" && set "log_file=program.log" && set "expr=gtru shutdown" && set "program=notepad.exe" Удалите первую строку и посмотрите, пожалуйста на чем он спотыкается. Nastya19kiss Не надо через два цикла, пожалуйста. Код: for /F %%a in ('RAR lb %name% ^| find "."') do ( dir /b/s %raz% | find /I "%%a" >nul if errorlevel 1 (echo %%a.....Not Found) else (echo %%a.....OK) ) | Вариант Проблема с совпадающими, например, именем папки и файла или двух файлов (RAR lb не указывает относительные пути). Для имен с пробелами нужно добавить "tokens=*" в for. kleugene Средствами чистого бата - к сожалению, не подскажу. С помощью sed ('\x22'='"')- sed -i -e 13s/\x221\x22/\x220\x22/ res2001 Цитата: Я бы сказал, не надо каждый раз вызывать dir в цикле | Спасибо, действительно, так будет намного лучше. Цитата: И потом при удачном стечении обстоятельств цикл можно заменить на две команды findstr /g:временный файл | В смысле, так? dir /b/s %raz% >list.tmp RAR lb %name% >list2.tmp findstr /G:list.tmp list2.tmp > ok.lst findstr /G:list.tmp /V list2.tmp > notfound.lst |