使用临时文件运行 Powershell
这在其他混合 主题中一再被提及。老派,但运行 Powershell 的简单方法是:
- 将 Powershell 脚本转换为临时脚本
- 执行临时脚本
- (可选)删除临时脚本
这是一个示例脚本。
@echo off
echo powershell-command>Temp.ps1
echo another line>>Temp.ps1
rem echo the script into a temporary file
powershell -File Temp.ps1
rem execute the temporary script
del Temp.ps1
rem Optionally remove the temporary script
如果需要长脚本,上面的方法需要大量的 echo
语句,这是 @Aacini 提出的更好的方法
@echo off
setlocal
rem Get the number of the "<resource>" line
for /F "delims=:" %%a in ('findstr /N "<resource>" "%~F0"') do set "start=%%a"
rem Skip such number of lines and show the rest of this file
(for /F "usebackq skip=%start% delims=" %%a in ("%~F0") do echo %%a) > Temp.ps1
powershell -File Temp.ps1
del /f /s /q Temp.ps1
goto :EOF
<resource>
PS
Powershell script