如何使用带有空格的路径和命令的"start"在Windows中创建批处理文件

78 windows scripting batch-file

我需要创建一个批处理文件,在Windows .cmd文件中启动多个控制台应用程序.这可以使用start命令完成.

但是,该命令中有一个路径.我还需要传递有空格的参数.这该怎么做?

例如批处理文件

start "c:\path with spaces\app.exe" param1 "param with spaces"
Run Code Online (Sandbox Code Playgroud)

And*_*ndy 163

实际上,他的例子不起作用(虽然起初我认为它也会这样).根据Start命令的帮助,第一个参数是新创建的命令提示符窗口的名称,第二个和第三个参数应分别是应用程序及其参数的路径.如果你在应用程序的路径之前添加另一个"",它应该工作(至少它对我来说).使用这样的东西:

start "" "c:\path with spaces\app.exe" param1 "param with spaces"
Run Code Online (Sandbox Code Playgroud)

您可以将第一个参数更改为您想要的新命令提示符的标题.如果它是创建的Windows应用程序,则不会显示命令提示符,并且标题无关紧要.


Ste*_*fen 15

使用撇号转义路径是正确的,但start命令采用包含新窗口标题的参数.此参数由周围的撇号检测,因此不会执行您的应用程序.

尝试这样的事情:

start "Dummy Title" "c:\path with spaces\app.exe" param1 "param with spaces"
Run Code Online (Sandbox Code Playgroud)