如何从具有路径空格的PowerShell 5.0脚本中调用批处理文件?

3

我正在尝试从PowerShell 5.0脚本中调用批处理文件。批处理文件的路径为:

\\192.168.0.1\hde_path\Tools Powershell\abc.cmd

所以,我的路径中有一个空格,我尝试用以下方式调用它...
cmd.exe /c "'\\192.168.0.1\hde_path\Tools Powershell\abc.cmd'"

现在,它会报错:
The system can not find the file specified.

但是,请注意:

  • 此文件abc.cmd存在于此位置。
  • 我可以访问此位置。 因为,我可以通过命令提示符运行此abc.cmd文件而没有任何问题。

同样,当我将abc.cmd文件放在路径中没有任何空格的某些位置中,例如:\192.168.0.1\hde_path\Tools\abc.cmd,并使用以下命令调用它时,它可以完美运行。

cmd.exe /c '\\192.168.0.1\hde_path\Tools\abc.cmd'

请帮忙!


只需要双引号即可 cmd.exe /c "\\192.168.0.1\hde_path\Tools\abc.cmd" - henrycarteruk
@JamesC。感谢您的快速回复。但是,我想提醒您,在您的评论中使用的路径中没有任何空格。但是我需要调用一个带有空格的批处理文件。 - Srijani Ghosh
@SrijaniGhosh,你在最后一个例子中也没有使用引号;无论如何,cmd使用"作为引号,'只被视为普通字符... - aschipfl
@aschipfl..我知道我的最后一个例子没有包含空格。因为我写了一个例子,没有空格的代码可以正常工作。而有空格的则不行。请阅读整个问题。感谢您的建议! - Srijani Ghosh
我的评论仍然是正确的答案,只是我从你的问题中复制了错误的路径。 - henrycarteruk
2个回答

3

双引号对我有效

cmd.exe /c "\\127.0.0.1\c$\temp\Test Folder\test.cmd"

1

要么

cmd.exe /c '\\192.168.0.1\hde_path\Tools Powershell\abc.cmd'

或者

cmd.exe /c "\\192.168.0.1\hde_path\Tools Powershell\abc.cmd"

应该可以工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接