1

Я создаю сценарий для перезагрузки компьютеров, и мне нужно сообщить об успехе или неудаче команды 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

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

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

Под управлением Windows 2012 R2

1 ответ1

3

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

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

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

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


Дублирующие ручки

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .