Я мало работал с DOS, так как в Unix всегда были сценарии оболочки, которые были более мощными. Первый раз я работаю в Windows и не очень разбираюсь в сценарии DOS / Batch.
Я пытался написать небольшой скрипт для перезагрузки удаленного компьютера.
Делая скрипт более сложным, я узнал о среде var% ERRORLEVEL%, которая является своего рода кодом возврата из последней команды run.
В Unix, если команда выполняется, но не выдает желаемого результата или сообщения об ошибке, код ошибки не равен нулю.
Как я пытаюсь удаленного выключения и предоставления хоста, который не существует в сети. Он говорит, что «Сетевой путь не найден», но% ERRORLEVEL% по-прежнему равен нулю. Вот и весь смысл задавать этот вопрос.
Нужно ли мне захватывать что-то другое, кроме% ERRORLEVEL%, так как Ноль предназначен для выполнения успешной команды, и он не изменяет% ERRORLEVEL% при выдаче «Сетевой путь не найден», что я должен захватить, чтобы получить это право?
shutdown command I am using:
shutdown -r -f -t %DELAYOF% -m \\%COMPNAME% -c %COMMENT%
Когда я даю недопустимое значение, равное% COMPNAME%, появляется сообщение «сетевой путь не найден», но% EERORLEVEL% не изменяется.