使用.bat运行PowerShell脚本出错



我试图运行一个.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

最新更新