Пакетный файл, чтобы прочитать файл и сделать что-то - PullRequest
0 голосов
/ 17 февраля 2019

Я написал командный файл, чтобы прочитать текст в созданном файле, и если он находит текст с именем:

"ОШИБКА ЛИЦЕНЗИИ"

Также мне нужноперезапустить пакетный файл, пока текстовая строка больше не будет там.Ошибка лицензии возникает всякий раз, когда нет лицензии для запуска задания.Но я хочу, чтобы он продолжал проверять до тех пор, пока лицензия не станет доступной, и тогда он запустит задание.

Ниже приведен мой код, и он не работает, потому что errorlevel всегда zero, и, похоже, не читает созданный текстовый файл.

:case1
call pclrun -v 2017.2 fortrans “H:\Fortran_Folder\test_data\NETWORK"  
findstr /m "LICENSE ERROR" NETWORK.TXT
if %ERRORLEVEL%==0 goto :case1

1 Ответ

0 голосов
/ 17 февраля 2019

Попробуйте этот код, используя && для проверки результатов findstr:

и добавьте полный путь к файлу NETWORK.TXT , если он не находится в той же папке ..

:case1
:: add this next line to see results :: 
timeout /t 1 
call pclrun -v 2017.2 fortrans "H:\Fortran_Folder\test_data\NETWORK"  
findstr /M /C:"LICENSE ERROR" "H:\Fortran_Folder\test_data\NETWORK\NETWORK.TXT" >nul && goto :case1

Obs.:
1 - обратите внимание на вашу цитату в: “H:\ это отличается от "H:\

2 - Может быть, вам нужно подождать, пока вызов pclrun завершится для выполнения findstr,

попробуйте заменить вызов на start "" / w pclrun ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...