2014-12-03 88 views
3

这是我想做的事情。如何在cmd start中使用引号?

start /wait ((c:\Program Files\NetDrive2\nd2cmd.exe) -c m -t ftp -blabla) 

如果我做

start /wait "c:\Program Files\NetDrive2\nd2cmd.exe -c m -t ftp -blabla" 

再有就是一个错误,因为 “程序文件” 中有空格。

如果我做

start /wait "c:\Program Files\NetDrive2\nd2cmd.exe" -c m -t ftp -blabla 

然后它解释为start的参数,所以它也产生一个错误。

反正有没有像正常程序语言中括号一样重叠方程吗?

回答

5

参考Start - Start a program, command or batch script (opens in a new window.)

语法

START "title" [/D path] [options] "command" [parameters]

重点:(必需的)

title文本的CMD窗口标题栏

path起始目录。

command要运行的命令,批处理文件或可执行程序。

parameters传递给命令的参数。

...

始终包括TITLE这可以是一个简单的字符串,如“我的脚本”或只是一对空引号“的”。根据Microsoft文档,标题是可选的,但如果省略,则可能会有问题。

你有一个错误,如果title省略是因为第一"字符(如果存在)将被用于分隔的标题,所以start将解释"Program Files"作为标题的原因。

如果没有"字符,则可以省略title

你的命令应该是:

start /wait "My title" "c:\Program Files\NetDrive2\nd2cmd.exe" -c m -t ftp -blabla 
+0

哦。谢谢!!!我正在挖一个不同的地方!!!!! – user2958279 2014-12-03 16:52:49

+0

不客气。请随时[接受我的回答](http://stackoverflow.com/help/accepted-answer):/ – DavidPostill 2014-12-03 16:56:50

+0

哦,那个标记正在分配“accept”;) – user2958279 2014-12-03 17:59:08