我试图运行一个.bat文件调用shell .ps1文件。我已经测试了我的脚本直接在powershell和那里它的工作。但是当我运行。bat时,出现了一个错误,告诉我类似于[以:(…)开头的字符串不包含终止符"]
我的。bat文件:
powershell.exe -command "& C:UsersIDesktopteste.ps1"
我的。ps1文件:
$scripts = 'C:UsersIDesktopTeste_0.1TesteTeste_run.bat', 'C:UsersIDesktopTeste_0.2TesteTeste_run.bat','C:UsersIDesktopTeste_0.3TesteTeste_run.bat' |%{ Start-Job –scriptblock (iex "[Scriptblock] { $_ } ")}| wait-job
要从powershell调用另一个脚本,我认为您不需要使用-command。您应该能够直接调用脚本。
powershell -nol -noe C:UsersIDesktopteste.ps1
还有另一种聪明的方法。
@echo off
more +4 "%~dpnx0" >> temp.ps1 && powershell -nol -noe .temp.ps1
exit /b
$scripts = 'C:UsersIDesktopTeste_0.1TesteTeste_run.bat', 'C:UsersIDesktopTeste_0.2TesteTeste_run.bat','C:UsersIDesktopTeste_0.3TesteTeste_run.bat' |%{ Start-Job –scriptblock (iex "[Scriptblock] { $_ } ")}| wait-job