CMD/BAT - [решено] Результат выполнение комманды в файл

Ответить
Аватара пользователя
fooger

CMD/BAT - [решено] Результат выполнение комманды в файл

Сообщение fooger »

Здравствуйте. CMD/BAT знаю очень плохо.

Мне нужно результат команды запуска службы (net start), сохранить в файл.

Знаю что делается это так:



Код:

Код: Выделить всё

net start имя_службы > test.txt

Но это работает только в случае успешного выполнения команды.

Если служба уже запущенна, то CMD выведет "Затребованная служба уже запущенна", но это не будет сохранено в файл (по крайней мере у меня).

Как сделать так, чтобы результат выполнения команды в любом случае сохранялся в файл, даже если он неудачный?

Спасибо!
Аватара пользователя
gora

Re: CMD/BAT - [решено] Результат выполнение комманды в файл

Сообщение gora »

fooger, попробуйте так:

Код:

Код: Выделить всё

net start имя_службы 1>test.txt 2>&1
Аватара пользователя
Гость

Re: CMD/BAT - [решено] Результат выполнение комманды в файл

Сообщение Гость »

Код:

Код: Выделить всё

Net Start имя_службы >log.txt||Echo Служба уже запущена >log.txt

UPD: Не заметил, что gora уже ответил, в любом случае, работать будут оба варианта.
Аватара пользователя
fooger

Re: CMD/BAT - [решено] Результат выполнение комманды в файл

Сообщение fooger »

gora, Anonymоus, большое спасибо!

Теперь новый вопрос, а как исправить то, что оно в какой-то не понятной кодировке?

Получается вот что



Код:

Код: Выделить всё

‡*вॡ®ў****п б«г¦Ў* 㦥 §*ЇгйҐ**.
„«п ўл§®ў* ¤®Ї®«*ЁвҐ«м*®© бЇа*ўЄЁ **ЎҐаЁвҐ NET HELPMSG 2182.
Аватара пользователя
gora

Re: CMD/BAT - [решено] Результат выполнение комманды в файл

Сообщение gora »

Цитата Anonymоus:



в любом случае, работать будут оба варианта
CMD/BAT - [решено] Результат выполнение комманды в файл




Не критики ради, а пользы для... В Вашем варианте при указании несуществующей службы будет выведено "Служба уже запущена" вместо "Неправильное имя службы." Изображение




Цитата fooger:



оно в какой-то не понятной кодировке?
CMD/BAT - [решено] Результат выполнение комманды в файл




В кодировке Кириллица DOS
Аватара пользователя
Foreigner

Re: CMD/BAT - [решено] Результат выполнение комманды в файл

Сообщение Foreigner »

А куда она отдает при успехе, в stdout или stderr?



Код:

Код: Выделить всё

net start имя_службы 1>&2 2>test.txt
Аватара пользователя
gora

Re: CMD/BAT - [решено] Результат выполнение комманды в файл

Сообщение gora »

Foreigner тестовый скрипт:

Код:

Код: Выделить всё

net start ZentimoService 1>test.txt 2>&1 
net start ZentimoService 1>>test.txt 2>&1 
net stop ZentimoService 1>>test.txt 2>&1 
net start ZentimoService1 1>>test.txt 2>&1

Выводит в test.txt

Код:

Код: Выделить всё

Служба "Zentimo Assistant" успешно запущена.
Затребованная служба уже запущена.
Для вызова дополнительной справки наберите NET HELPMSG 2182.
Служба "Zentimo Assistant" останавливается.
Служба "Zentimo Assistant" успешно остановлена.
Неправильное имя службы.
Для вызова дополнительной справки наберите NET HELPMSG 2185.
Аватара пользователя
Foreigner

Re: CMD/BAT - [решено] Результат выполнение комманды в файл

Сообщение Foreigner »

Цитата fooger:



Теперь новый вопрос, а как исправить то, что оно в какой-то не понятной кодировке?
CMD/BAT - [решено] Результат выполнение комманды в файл






Код:

Код: Выделить всё

@echo off
setlocal
chcp 866 1>nul
for /f "tokens=*" %%i in ('" 2>&1 net start служба "') do call:echo "%%i"
goto:eof
:echo
chcp 1251 1>nul
1>>1.txt echo %~1
chcp 866 1>nul

gora, Это я просто запутался и мне показалось, что она всегда перенаправляет в STDERR
Аватара пользователя
fooger

Re: CMD/BAT - [решено] Результат выполнение комманды в файл

Сообщение fooger »

Foreigner, ОГРОМНОЕ СПАСИБО!!!

Все очень помогли



Спасибо еще раз!
Аватара пользователя
fooger

Re: CMD/BAT - [решено] Результат выполнение комманды в файл

Сообщение fooger »

Цитата rsuan:



а успешные выводятся на консоль и не попадают в файл.
»




С чего бы это? «1>test.txt» (или просто «>test.txt») перенаправляет стандартный поток вывода в файл.




Цитата rsuan:



Как сделать чтобы при любом раскладе попадало в файл?
»




Вот так, как выше написано, и делать. Если у Вас что-то не попадает, начинайте излагать конкретные детали.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»