1

我正在尝试运行一个调用 shell .ps1 文件的 .bat 文件。我已经直接在 powershell 中测试了我的脚本并且它在那里工作。但是当我运行 .bat 时,会出现一个错误,告诉我类似 [ The string started with: (...) does not contain the terminator " ]

我的 .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
4

1 回答 1

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
于 2013-05-17T13:55:39.287 回答