Я проверил создание файла. Пришлось добавить -ItemType 'file'
к New-Item
, иначе я получил приглашение ввести type .
Основной выпуск :
Вы удаляете пакетный файл до того, как предполагается выполнение команды shutdown
. Переместите строку удаления вниз в конец кода пакетного файла. Это должно затем позволить команде shutdown
выполнить удаление пакетного файла до того, как он достигнет конца, немедленно завершит пакетный файл.
Код, протестированный при создании пакетного файла:
New-Item C:\Tools\Drivers\DellLatitude3450.bat -ItemType 'file'
Add-Content C:\Tools\Drivers\DellLatitude3450.bat -Value @'
pushd C:\Tools\Drivers\
forfiles /p DellLatitude3450 /s /m *.inf /c "cmd /c pnputil -i -a @Path"
rmdir /s /q "C:\Tools\Drivers\DellLatitude3450"
rmdir /s /q "C:\Tools\Drivers\Elevate"
del /f "C:\Tools\Drivers\Elevate.zip"
shutdown /r /t 15
popd
del /f "C:\Tools\Drivers\DellLatitude3450.bat"
'@
Примечание. Я добавил синтаксис here-doc, упомянутый в О правилах цитирования , хотя кажется, что одни одиночные кавычки работают.