我正在尝试运行一个调用shell .ps1文件的.bat文件。 我已经在powershell中直接测试了我的脚本,并且它可以工作。 但是当我运行.bat时,会发生一个错误,对我说像[以字符串开头的:( ...)不包含终结符“]
我的.bat文件:
powershell.exe -command "& C:\Users\I\Desktop\teste.ps1"
我的.ps1文件:
$scripts = 'C:\Users\I\Desktop\Teste_0.1\Teste\Teste_run.bat', 'C:\Users\I\Desktop\Teste_0.2\Teste\Teste_run.bat','C:\Users\I\Desktop\Teste_0.3\Teste\Teste_run.bat' |%{ Start-Job –scriptblock (iex "[Scriptblock] { $_ } ")}| wait-job
答案 0 :(得分:0)
要从powershell调用另一个脚本,我认为您不需要使用-command。您应该只能直接调用脚本。
powershell -nol -noe C:\Users\I\Desktop\teste.ps1
或者,这是另一种聪明的方法。
@echo off
more +4 "%~dpnx0" >> temp.ps1 && powershell -nol -noe .\temp.ps1
exit /b
$scripts = 'C:\Users\I\Desktop\Teste_0.1\Teste\Teste_run.bat', 'C:\Users\I\Desktop\Teste_0.2\Teste\Teste_run.bat','C:\Users\I\Desktop\Teste_0.3\Teste\Teste_run.bat' |%{ Start-Job –scriptblock (iex "[Scriptblock] { $_ } ")}| wait-job