Перенаправление ошибок Shutdown.exe в файл

Перенаправление ошибок Shutdown.exe в файл

Я создаю скрипт для перезагрузки компьютеров, и мне нужно сообщать об успешном или неудачном выполнении команды shutdown.exe как часть журнала моего скрипта. У меня возникла проблема с перенаправлением вывода неудачных процессов shutdown.exe в файл. Вот моя командная строка:

shutdown.exe -r -t 50000 -m \\top34.top.local > c:\output.txt

При запуске я вижу на экране следующее сообщение: "top34.top.local: Введенное имя компьютера недопустимо или удаленное выключение не поддерживается на целевом компьютере. Проверьте имя и повторите попытку или обратитесь к системному администратору.(53)", что я и ожидал, но c:\output.txt пуст и не содержит этой ошибки. Мой скрипт должен вывести эту строку в текстовый файл для целей ведения журнала.

Я также попытался обернуть его вокруг CMD, вот так:

cmd /c shutdown.exe -r -t 50000 -m \\top34.top.local > c:\output.txt

Но и это не дает результата. Я также пробовал двойной >> (append), но это ничего не меняет.

Я провел довольно много расследований, и, похоже, shutdown.exe перенаправляет вывод успешных команд в stdout, но не неудачных команд. Как мне заставить его перенаправлять как успешные, так и неудачные команды в мой файл?

Работает на Windows 2012 R2

решение1

Как мне заставить его ( shutdown) перенаправлять как успешные, так и неудачные команды в мой файл?

Используйте следующую команду:

shutdown.exe -r -t 50000 -m \\top34.top.local > c:\output.txt 2>&1

Обратите внимание, что 2>&1должно бытьпослепервое >перенаправление.


Дублирование ручек

Оператор &перенаправления дублирует вывод или ввод из одного указанного дескриптора в другой указанный дескриптор. Например, чтобы отправить dirвывод в File.txt и отправить вывод ошибок в File.txt, введите:

dir > c:\file.txt 2>&1

ИсточникИспользование операторов перенаправления команд

Связанный контент