Консультация № 78152
13.03.2007, 19:53
0.00 руб.
0 1 1
Здравствуйте!
Подскажите, пожалуйста, как в bat файле можно узнать размер какого либо файла?

А теперь, опишу ситуацию немного подробнее, возможно кто-нибудь подскажет какое-нибудь другое решение.

У меня в bat файле выполняется программа someProgram.exe.
Переменная переменная %ERRORLEVEL% не отражает результаты работы someProgram.exe, поэтому приходится ориентироваться по выведенным в консоль ошибкам.
Я перенаправляю ошибки someProgram.exe в в текстовый файл.

someProgram.exe 2> err.log

После чего, мне нужно узнать, someProgram.exe выполнилась с ошибками или нет.

Если файл err.log пустой, то ошибок не было - это легко определить по размеру файла, только команды такой я не нашел почему-то..

Сейчас проверяю результаты таким образом (по-моему, несколько криво..)

rem Проверяем, скрипт выполнен с ошибками?
set IS_SCRIPT_ERR=0

rem Ищем в файле логе-ошибок слова, которые сигнализируют об ошибке
findstr /i SQLCODE err.log
if %ERRORLEVEL% == 0 (
set IS_SCRIPT_ERR=1
goto END
)

Подскажите, пожалуйста, нормальный вариант решения этой задачи.

Обсуждение

Неизвестный
14.03.2007, 12:47
общий
это ответ
Здравствуйте, Igor_!

Ох давно это было, но в BAT-файлах ERRORLEVEL:

0 - вызванная РАНЬШЕ программа завершилась удачно (т.е. нормально)
2 - Неудачно (чё-то не понравилось)

И к тому же, насколько помню, сам ERRORLEVEL писался без процентов.

Для уточнения советую найти Фигурнова 6-е издание, там рассматривались команды DOS
В своё время (лет с десяток назад) пользовался справочником, работающим с .NG-файлами.
Там были ПОЧТИ ВСЕ команды DOS. К сожалению, давно его потерял.
Форма ответа