2011-06-19 28 views
2

我有一種奇怪的情況,出於某種原因,批處理文件中的語句被賦予了額外的空間。批處理文件出於某種原因在參數之間添加空格

scan "%1" -d "db" --memory -r -i --max-filesize=100m > output.txt 

執行時,而不是執行:

scan "C:\" -d "db" --memory -r -i --max-filesize=100m 

它執行:

scan "C:\" -d "db" --memory -r -i --max-filesize=100m 

正如你可以看到它增加了一個空間,在兩者之間 「掃描」 和「C:\ 「

任何人都可以解釋爲什麼會發生這種情況?

+0

爲什麼會出現這個問題? – Mat

+0

@Matt因爲我得到了以下輸出:Warning \\?\ C:「-d -db ...... – James

+0

獲取與 systeminfo | findstr/B相同的問題」主機名:「| findstr/C: 「COMPNAME-SET」 輸出: Z:\> systeminfo | findstr/B「主機名:」| findstr/C:「COMPNAME-SET」 該命令的語法不正確。 – Mgamerz

回答

3

問題是你引用了C:\。它不需要引用(因爲它不包含空格),並且它看起來像應用程序正在將生成的\"解釋爲轉義引用,導致未終結的雙引號字符串。

歡迎來到批處理腳本的樂趣。

相關問題