Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / как записать в лог ошибку выполнения команды в bat-файле / 17 сообщений из 17, страница 1 из 1
26.05.2016, 08:39
    #39243625
NewIvanovec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как записать в лог ошибку выполнения команды в bat-файле
Есть bat файл в котором, 2 команды: 1-ая команда запускает другой bat, 2-ая команда создает файл.
Код: powershell
1.
loader 01.01.2010 test.txt && @echo on >trigger\result.txt


вопрос в том, что если первая команда заваливается, мне хотелось бы вывести лог с ошибкой в файл result.txt.
но файл result.txt всё время почему-то пустой создаётся.
Или же можно сделать так, что если 1-ая команда заваливается, тогда 2-ую команду не выполнять вообще
...
Рейтинг: 0 / 0
26.05.2016, 08:42
    #39243626
eNose
Участник
[не активирован]
[не одобрен]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как записать в лог ошибку выполнения команды в bat-файле
errorlevel ?
...
Рейтинг: 0 / 0
26.05.2016, 09:11
    #39243647
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как записать в лог ошибку выполнения команды в bat-файле
NewIvanovec1-ая команда запускает другой bat
Поскольку отсутствует CALL, управление передаётся в loader.bat и обратно не возвращается.

eNoseerrorlevel ?
Сам вызов дочернего батника происходит нормально. Даже при наличии CALL ошибки не будет, или это будет ошибка, связанная с невозможностью найти/запустить дочку.
...
Рейтинг: 0 / 0
26.05.2016, 09:18
    #39243651
NewIvanovec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как записать в лог ошибку выполнения команды в bat-файле
eNoseerrorlevel ?
намерение было этим скриптом создать файл result.txt если первая команда OK.
не получилось.
Код: powershell
1.
2.
3.
4.
5.
loaderVIP 28.04.2016 v7.txt  && pause
if errorlevel 0   goto result

:result
@echo on >trigger\result.txt
...
Рейтинг: 0 / 0
26.05.2016, 09:21
    #39243656
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как записать в лог ошибку выполнения команды в bat-файле
Как-то так надо
Код: sql
1.
if %errorlevel%==0   goto result
...
Рейтинг: 0 / 0
26.05.2016, 09:24
    #39243660
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как записать в лог ошибку выполнения команды в bat-файле
Для начала надо бы проверить что в errorlevel содержится
Код: sql
1.
@echo errorlevel = %errorlevel%
...
Рейтинг: 0 / 0
26.05.2016, 09:26
    #39243662
NewIvanovec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как записать в лог ошибку выполнения команды в bat-файле
[quot Akina]NewIvanovec1-ая команда запускает другой bat
Поскольку отсутствует CALL, управление передаётся в loader.bat и обратно не возвращается.

этот скрипт тоже всегда создает файл result.txt вне зависимости от того,
выполнилась команда call loaderVIP 28.04.2016 v7.txt или нет

Код: powershell
1.
2.
call loaderVIP 28.04.2016 v7.txt  
echo on >trigger\result.txt
...
Рейтинг: 0 / 0
26.05.2016, 10:05
    #39243705
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как записать в лог ошибку выполнения команды в bat-файле
NewIvanovec , ну так всё-таки... loader и loaderVIP - это именно .BAT? или таки какой-то EXE?
...
Рейтинг: 0 / 0
26.05.2016, 10:10
    #39243715
NewIvanovec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как записать в лог ошибку выполнения команды в bat-файле
Akina NewIvanovec , ну так всё-таки... loader и loaderVIP - это именно .BAT? или таки какой-то EXE?
последний вариант loaderVIP. Более того, пытаюсь результат работы loaderVIP в самом файле loaderVIP вывести в файл (>trigger\result.txt),
но все равно пустой файл.
Для информации,при ошибке errlevel=0

Код: powershell
1.
2.
3.
4.
5.
6.
 JAVA=%JAVA_HOME%\bin\java

call c:\ibank2ubs\bin\setClasspath

%JAVA% %CP_OPTS% -Dibank.root=%CONV_HOME% com.bifit.converter.unisab.Importer %1 %2 >trigger\result.txt
pause
...
Рейтинг: 0 / 0
26.05.2016, 10:32
    #39243740
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как записать в лог ошибку выполнения команды в bat-файле
NewIvanovecпоследний вариант loaderVIP.Попробуйте отвечать на тот вопрос, который Вам задали, а не на тот, который Вы себе придумали...
...
Рейтинг: 0 / 0
26.05.2016, 10:36
    #39243741
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как записать в лог ошибку выполнения команды в bat-файле
NewIvanovecпытаюсь результат работы loaderVIP в самом файле loaderVIP вывести в файл (>trigger\result.txt)
loaderVIP что, консольное приложение?
...
Рейтинг: 0 / 0
26.05.2016, 11:00
    #39243762
NewIvanovec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как записать в лог ошибку выполнения команды в bat-файле
AkinaNewIvanovecпытаюсь результат работы loaderVIP в самом файле loaderVIP вывести в файл (>trigger\result.txt)
loaderVIP что, консольное приложение?

loaderVip - это bat файл
...
Рейтинг: 0 / 0
26.05.2016, 11:34
    #39243833
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как записать в лог ошибку выполнения команды в bat-файле
Цитата с консоли:
Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
B:\>type a.bat
echo on
echo Invoke b.bat using CALL
call b.bat
echo Returning from 'CALL b.bat'
echo Invoke b.bat without CALL
b.bat
echo Returning from 'b.bat'

B:\>type b.bat
echo Processing b.bat

B:\>a.bat

B:\>echo on

B:\>echo Invoke b.bat using CALL
Invoke b.bat using CALL

B:\>call b.bat

B:\>echo Processing b.bat
Processing b.bat

B:\>echo Returning from 'CALL b.bat'
Returning from 'CALL b.bat'

B:\>echo Invoke b.bat without CALL
Invoke b.bat without CALL

B:\>b.bat

B:\>echo Processing b.bat
Processing b.bat

B:\>


Как видно, после вызова .BAT без использования CALL исполнение обратно в вызывающий .BAT не возвращается.
...
Рейтинг: 0 / 0
26.05.2016, 13:59
    #39244048
NewIvanovec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как записать в лог ошибку выполнения команды в bat-файле
спасибо.
буду искать другое решение
...
Рейтинг: 0 / 0
26.05.2016, 15:46
    #39244182
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как записать в лог ошибку выполнения команды в bat-файле
NewIvanovecЕсть bat файл в котором, 2 команды: 1-ая команда запускает другой bat, 2-ая команда создает файл.
Код: powershell
1.
loader 01.01.2010 test.txt && @echo on >trigger\result.txt


вопрос в том, что если первая команда заваливается, мне хотелось бы вывести лог с ошибкой в файл result.txt
Код: plaintext
1.
команда аргументы 2>&1 >.еггог||exit /b 255
del .еггог
...
Рейтинг: 0 / 0
26.05.2016, 16:54
    #39244245
NewIvanovec
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как записать в лог ошибку выполнения команды в bat-файле
Basil A. SidorovNewIvanovecЕсть bat файл в котором, 2 команды: 1-ая команда запускает другой bat, 2-ая команда создает файл.
Код: powershell
1.
loader 01.01.2010 test.txt && @echo on >trigger\result.txt


вопрос в том, что если первая команда заваливается, мне хотелось бы вывести лог с ошибкой в файл result.txt
Код: plaintext
1.
команда аргументы 2>&1 >.еггог||exit /b 255
del .еггог


файл создается в любом случае
Код: powershell
1.
2.
loaderVIP 01.04.2016 v7.txt 2>&1 >.error||exit /b 255
del .error
...
Рейтинг: 0 / 0
26.05.2016, 17:39
    #39244260
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как записать в лог ошибку выполнения команды в bat-файле
NewIvanovecфайл создается в любом случае
так и должно быть - перенаправления потоков обрабатываются до выполнения команды, в момент парсинга.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / как записать в лог ошибку выполнения команды в bat-файле / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]