2016-01-05 77 views
1

我想傳遞特定參數(aaa | bbb | ccc)但它不起作用。如何將命令行特定參數傳遞給批處理文件?

下面是命令行的樣子:

test.bat aaa|bbb|ccc 

和test.bat的樣子:

echo %1 

,但它不工作的test.bat的Cuz只接收 'AAA'。 如何傳遞整個參數'aaa | bbb | ccc'?

ps。我必須使用這種格式:'aaa | bbb | ccc' 沒有選項可以改變,如aaa_bbb_ccc ..等。

+5

的可能的複製[如何通過命令行參數來批處理文件?](http://stackoverflow.com/questions/26551/how-to-pass-command-line-parameters-to-a -batch-file) – STF

回答

1

使用「|」意味着你使用管道功能。 http://ss64.com/nt/syntax-redirection.html

你應該使用「AAA | BBB | CCC」,這樣它會讀取引號之間的一切。

我希望它能幫助

+2

...和'echo%〜1'來刪除引號,如果需要的話。 – Stephan

+0

它也工作!非常感謝!!! – javaboy

1

豎線是管道字符command.com和cmd.exe的。如果你想使用字面意思,它必須使用CARET轉義。

K:>echo aaa^|bbb^|ccc 
aaa|bbb|ccc 

其實,我想我可能更喜歡引用的建議,因爲它似乎在bash和其他shell下工作。

$ echo "aaa|bbb|ccc" 
aaa|bbb|ccc 

$ echo 'aaa|bbb|ccc' 
aaa|bbb|ccc 
+0

它的工作原理!非常感謝!!! – javaboy

+0

@ user3460334 - 請將其中一個答覆標記爲「答案」。這就是SO社區的工作原理。 – lit

相關問題