问题描述
我知道这是一个奇怪的用例,但我需要在新流程中像这样执行,并且要一行一行。我花了很长时间才到达这个地方。为此,我已经把头发扯了好几个小时了……请帮助!
此命令在powershell和cmd中有效:
powershell -command "(start-process -Passthru PowerShell -ArgumentList '-file C:\Temp\Test.ps1').Id"
此命令在Powershell中有效,但在cmd中无效(找不到文件):
powershell -command "(start-process -Passthru PowerShell -ArgumentList '-file `"C:\Temp\Test.ps1`"').Id"
当我在文件名中添加空格时,在PowerShell或cmd中找不到文件(该文件确实存在):
powershell -command "(start-process -Passthru PowerShell -ArgumentList '-file `"C:\Temp\Test 1.ps1`"').Id"
解决方法
您可以从命令提示符直接运行它:
start "" powershell -file "C:\Temp\test.ps1"
这将在新窗口中启动该过程。