Показать полную графическую версию : [решено] Вывод информации исполнения BAT файла в log
Здравствуйте, господа!
Суть проблемы:
Есть 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
Ветеран
Может быть так?
Код:
>"С:\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
Что именно? В текстовый файл можно вывести только результат вывода команд. И если 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
Так это не результат исполнения, Вы хотите, чтобы 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
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.