如何在Windows中使用带有空格的path和命令的“开始”来创buildbatch file

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

但是,该命令有一个path在其中。 我也需要通过有参数的参数。 这个怎么做?

例如batch file

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

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

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

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

用撇号转义path是正确的,但是启动命令需要一个包含新窗口标题的参数。 这个参数被周围的撇号检测到,所以你的应用程序不会被执行。

尝试这样的事情:

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

有趣的是,在Windows Embedded Compact 7中,似乎不能指定标题string。 第一个参数必须是命令或程序。

你要使用这样的东西:

开始/ d C:\ Windows \ System32 \ calc.exe

开始/ d“C:\ Program Files \ Mozilla

Firefox“firefox.exe start / d

“C:\ Program Files \ Microsoft

Office \ Office12“EXCEL.EXE

另外我build议你使用特殊的batch file编辑器 – Dr.Batcher

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

当我使用上面的build议,我有''C:\path'不被识别为一个内部或外部的命令,可操作的程序或batch file“。 我认为第二个分号标记防止命令运行。 经过一些search解决scheme后,保存我的一天

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

在你的例子中用引号内的空格围绕path和参数应该做的。 当parameter passing给它时,该命令可能需要处理引号,但通常不是什么大问题。

我研究成功,它对我来说工作得很好。 我的要求是发送一个电子邮件使用VBScript,这需要从窗口中的batch file调用。 这里是我正在使用的确切命令,没有任何错误。

 START C:\Windows\System32\cscript.exe "C:\Documents and Settings\akapoor\Desktop\Mail.vbs"