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

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

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

例如batch file

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

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

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

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

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

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

尝试这样的事情:

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

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

你要使用这样的东西:

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

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

Firefox“firefox.exe start / d

“C:\ Program Files \ Microsoft

Office \ Office12“EXCEL.EXE

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

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

当我使用上面的建议,我有''C:\路径'不被识别为一个内部或外部的命令,可操作的程序或批处理文件“。 我认为第二个分号标记防止命令运行。 经过一些搜索解决方案后,保存我的一天

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

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

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

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