Войти

Показать полную графическую версию : [решено] Вывод информации исполнения BAT файла в log


Nilf
11-08-2022, 13:34
Здравствуйте, господа!

Суть проблемы:
Есть bat файл, результаты исполнения которого необходимо вывести в текстовый файл. Есть использовать что-то вроде
C:\Temp\Services\BackUpServ\output.txt 2>&1( sc config AcrSch2Svc start= Auto) , то по итогу в файле логов получим только результат исполнения самой команды ([SC] ChangeServiceConfig: успех) , а что конкретно исполнялось становиться не ясно. Т.е. если скажем будет исполняться не одна строка кода, и в какой-то строке будет ошибка, то не будет очевидно какая команда не исполнилась.

Если делать отдельный BAT и запускать через него другой с указанием сбора логов в отдельный файл start Code.vbs >> output.txt, то тут возникает проблема невозможности запуска первоначального скрипта под правами администратора.

Подскажите пожалуйста возможный выход. Заранее благодарен!

megaloman
11-08-2022, 14:22
Может быть так?>"С:\Temp\Services\BackUpServ\output.txt" 2>&1 sc config AcrSch2Svc start= Auto

Nilf
11-08-2022, 14:28
Ветеран
Может быть так?
Код:
>"С:\Temp\Services\BackUpServ\output.txt" 2>&1 sc config AcrSch2Svc start= Auto »

К сожалению нет, не хотит.

megaloman
11-08-2022, 14:39
Есть bat файл, результаты исполнения которого необходимо вывести в текстовый файл. »К сожалению нет, не хотит. »Что именно? В текстовый файл можно вывести только результат вывода команд. И если Sc выводит в консоль только "[SC] ChangeServiceConfig: успех" иных результатов не увидите. Если в батнике несколько команд, которые надо записать в файл, то, например, вот этот бредовый набор прекрасно записывается@Echo Off
cls
>"C:\Temp\Services\BackUpServ\output.txt" 2>&1 (
sc config /?
Dir C: /B /A:D
For /L %%i In (1000001,1,1000010) Do Echo %%i
)
Exit /B
Можно и проще, всё, что в батнике выводится в консоль, записать в файл, то батник можно запустить:
имя_батника.bat >"C:\Temp\Services\BackUpServ\output.txt" 2>&1

Nilf
11-08-2022, 15:01
Что именно? В текстовый файл можно вывести только результат вывода команд. И если Sc выводит в консоль только "[SC] ChangeServiceConfig: успех" иных результатов не увидите. Если в батнике несколько команд, которые надо записать в файл, то, например, вот этот бредовый набор прекрасно записывается »
Вот в этом то и загвоздка, хотелось бы как-то реализовать возможность отображения не только результата исполнения команды, но и саму команду. Т.е. при исполнении команды sc config AcrSch2Svc start= Auto я видел в фале лога не только "[SC] ChangeServiceConfig: успех" а еще и саму команду которая была исполнена, т.е.:

"sc config AcrSch2Svc start= Auto
[SC] ChangeServiceConfig: успех".

Вот и хотелось узнать можно ли это как-то реализовать.

Можно и проще, всё, что в батнике выводится в консоль, записать в файл, то батник можно запустить:
имя_батника.bat >"C:\Temp\Services\BackUpServ\output.txt" 2>&1 »
Здесь тогда придется запускать ручками через CMD от имени администратора (что в моем случае не вариант), либо делать отдельный батник с этой строкой, но тогда имя_батника.bat не будет запущен от имени администратора и мои команды в самом батнике не сработают. Получается что тогда единственный вариант - дописывать батник так, чтобы перед запуском ввести идентификационный данные админа и потом запускать?

megaloman
11-08-2022, 15:18
Так это не результат исполнения, Вы хотите, чтобы Echo Off не работало, тогда вот так:@Echo Off
cls
>"Z:\Temp\Services\BackUpServ\output.txt" 2>&1 Call :Procedurka
Exit /B

:Procedurka
@Echo On
sc config /?
Dir C: /B /A:D
For /L %%i In (1000001,1,1000010) Do Echo %%i
@Echo Off
Exit /B

Nilf
12-08-2022, 07:09
Так это не результат исполнения, Вы хотите, чтобы Echo Off не работало, тогда вот так:
Код:
@Echo Off
cls
>"Z:\Temp\Services\BackUpServ\output.txt" 2>&1 Call :Procedurka
Exit /B
:Procedurka
@Echo On
sc config /?
Dir C: /B /A:D
For /L %%i In (1000001,1,1000010) Do Echo %%i
@Echo Off
Exit /B »

Спасибо большое! Именно то что мне и было нужно )




© OSzone.net 2001-2012