Я пытаюсь запустить командный файл из скрипта powershell и проверить, не было ли ошибок во время выполнения.
Сейчас я делаю это с помощью следующего кода:
$job = Start-Process -FilePath "C:\Test\Testfile_2.bat" -Wait -passthru;
$job.ExitCode
Это работает ... или, по крайней мере, почти.
Пока я получаю код выхода, он действительно дает мне информацию только о последней команде, запущенной пакетным файлом.Позвольте мне объяснить это.
Если я сделаю следующее в моем пакетном файле:
MKDIR C:\Test\Testdir
Если я запусту это, я получу exitCode "0" при первом запуске, для всех следующих запусков яполучить «1», так как каталог уже существует.Но если я добавлю простой CD в конец пакетного файла:
MKDIR C:\Test\Testdir
CD C:\
Я ВСЕГДА получу exitCode "0", так как команда CD работает каждый раз.Таким образом, даже если каталог существует, и он выдаст мне ошибку в cmd, в exitCode нет ошибки.Есть ли способ проверить наличие ошибок во время выполнения пакетного файла с PowerShell, или мне нужно кодировать мой пакетный файл так, как он отменяется, как только возникает ошибка, и сразу же возвращает ошибку exitCode?
Спасибо за любую помощь или советы!