如何调用文件名中包含空格的程序?

Jac*_*ack 20 windows command-line

我试图运行一个命令行是这样的:start /max C:\Program files\foo\ba.exe -somearguments

但是我有一个问题,cmd 返回一条错误消息The system cannot found the C:\Program file,如果我加上C:\Program files\foo\ba.exe引号,它只会在 MAX 模式下运行一个新窗口 cmd 并且不运行该程序。

如何解决这个问题?

Sil*_*viu 18

所有包含空格的文件名和路径都必须用引号引起来。

接下来,关于您的问题,如何说明路径:

start /max /d"C:\Program files\foo\" ba.exe -somearguments
Run Code Online (Sandbox Code Playgroud)

  • 这个答案只是部分解决方案:如果路径中有空格,它将起作用,但如果文件名中有空格,它将不起作用。调用“start“b a.exe”失败。” (2认同)

Dio*_*ogo 16

发生错误是因为系统将您的命令解释为文件C:\Programfile命令的参数。显然它没有找到文件Program并返回了这个错误。

要修复它,只需""在带有空格字符的单词之间的路径或整个路径中包含:

start /max C:\"Program files"\foo\ba.exe -somearguments
Run Code Online (Sandbox Code Playgroud)

或者

start /max "C:\Program files\foo\ba.exe" -somearguments
Run Code Online (Sandbox Code Playgroud)


小智 5

虽然将路径用引号括起来是最容易和最清晰的阅读方式,但您也可以使用旧的 DOS 短名称(因为 DOS 遵循 8.3 命名,超过 8 个字符的文件名被截断~1)作为文件。这些名称没有空格。您可以使用该DIR /X命令查看文件的短名称。