2014-12-03 108 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