如果文件名包含空格,则嵌入式 PowerShell 命令将不起作用



我知道这是一个奇怪的用例,但我需要它在一个新的进程中像这样执行,并成为一行。我花了很长时间才到达这个地方。我已经为这件事撕了好几个小时了。。。请帮忙!

此命令适用于powershell和cmd:

powershell -command "(start-process -PassThru PowerShell -ArgumentList '-file C:TempTest.ps1').Id"

此命令在powershell中有效,但在cmd中无效(找不到文件(:

powershell -command "(start-process -PassThru PowerShell -ArgumentList '-file `"C:TempTest.ps1`"').Id"

当我在文件名中添加空格时,它在PowerShell或cmd中找不到该文件(该文件确实存在(:

powershell -command "(start-process -PassThru PowerShell -ArgumentList '-file `"C:TempTest 1.ps1`"').Id"

您可以直接从命令提示符运行它:

start "" powershell -file "C:Temptest.ps1"

这将在一个新窗口中启动流程。

最新更新