使用.bat运行PowerShell脚本时出错

时间:2013-05-17 13:24:10

标签: powershell batch-file

我正在尝试运行一个调用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

1 个答案:

答案 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