it-swarm.cn

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

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

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

例如。批处理文件

start "c:\path with spaces\app.exe" param1 "param with spaces"
74
Tim

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

start "" "c:\path with spaces\app.exe" param1 "param with spaces"

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

160
Andy

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

尝试这样的事情:

start "Dummy Title" "c:\path with spaces\app.exe" param1 "param with spaces"
15
Steffen
start "" "c:\path with spaces\app.exe" "C:\path parameter\param.exe"

当我使用上述建议时,我得到了:

'c:\ path'无法识别内部或外部命令,可运行程序或批处理文件。

我认为第二个qoutation标记阻止命令运行。在解决方案下面的一些搜索之后保存我

start "" CALL "c:\path with spaces\app.exe" "C:\path parameter\param.exe"
2
Mustafa Kemal

有趣的是,似乎在Windows Embedded Compact 7中,您无法指定标题字符串。第一个参数必须是命令或程序。

1
Mark Agate

你应该使用这样的东西:

start/d C:\ Windows\System32\calc.exe

start/d“C:\ Program Files\Mozilla

Firefox“firefox.exe start/d

“C:\ Program Files\Microsoft

Office\Office12“Excel.EXE

另外我建议你使用特殊的批处理文件编辑器 - Dr.Batcher

0
user243871