Вопрос № 22862: Уважаемые эксперты! Как генерить имя файла в bat файле как hex число, например: 009.txt, 00A.txt, 00B.txt ... И как описать условие выхода из bat файла, если exe прога выдаёт один
и тот же код возврата вне зависимости от результата её работы =0, ...
Вопрос № 22.862
Уважаемые эксперты! Как генерить имя файла в bat файле как hex число, например: 009.txt, 00A.txt, 00B.txt ... И как описать условие выхода из bat файла, если exe прога выдаёт один
и тот же код возврата вне зависимости от результата её работы =0, а только выдаёт строку, которая содержит фразу failed в DOS режиме?
Отправлен: 29.06.2005, 21:25
Вопрос задал: Александр А.А. (статус: Посетитель)
Всего ответов отправлено: 2
Отвечает: Mad_C
Здравствуйте, Александр А.А.!
Да, вопрос, конечно не в тему, но раз уж был задан, скажу что все это в общем-то реализуется в командных файлах с пол-пинка.
Генерить для десятичных приблизительно так:
for /l %%b in (0,1,20) do @echo %%b.txt,
для hex надо поизвращаться, мне лень что-то, читай мануалы по командной строке.
анализировать вывод файла тоже не сложно, допустим твоя прога (out.cmd), вывод которой ты анализируешь, выводит в случае краха строчку "Program is failed", тогда строка для анализа будет такой:
for /f "tokens=1-3 usebackq" %%A in (`call out.cmd`) do (if /i "%%C"=="failed" echo Programm failed!!!)
Если ключевое слово стоит например на 4 позиции строки, то сверять надо с "%%D", а параметр tokens будет 1-4, при чем надо иметь ввиду, что анализятся все строки вывода файла по очереди, и условие выполняется при первом совпадении.
Работает все это в командных файлах winxp и win2003 точно, насчет других сказать не могу.
Ответ отправил: Mad_C (статус: 1-ый класс)
Отправлен: 30.06.2005, 09:11
Отвечает: DSota
Здравствуйте, Александр А.А.!
Попробуй выполнить команду ниже :))!
А насчет выловить строку из ДОС программы - это маловероятно!
Приложение:
--------- Открыть глаза навстречу солнцу.
Ответ отправил: DSota (статус: Практикант)
Отправлен: 30.06.2005, 16:12