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

时间:2020-03-05 18:56:03  来源:igfitidea点击:

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

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

例如。批处理文件

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

解决方案

回答

如示例所示,在路径和参数周围用引号引起来。将参数传递给命令时,该命令可能需要处理引号,但通常没什么大不了的。

回答

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

尝试这样的事情:

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

回答

实际上,他的例子是行不通的(尽管起初我以为也是)。根据"启动"命令的帮助,第一个参数是新创建的"命令提示符"窗口的名称,第二个和第三个应该分别是应用程序及其参数的路径。如果我们在应用路径之前添加了另一个"",它应该可以正常工作(至少对我有用)。使用这样的东西:

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

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

回答

我们将使用如下所示的内容:

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