[英]Issue displaying variables in Batch
我試圖在批處理中顯示變量列表,但是我沒有得到變量。 我得到了命令,但刪除了%和空格。
echo 1 %11A1% %11B1% %11C1% %11D1% %11E1% %11F1% %11G1% %11H1% %11I1% %11J1%
變成
1 1A111B111C111D111E111F111G111H111I111J1
我已經在其他批次中完成了變量並且沒有問題地顯示它們。 任何幫助表示贊賞!
目前的代碼在這里: http : //hastebin.com/sutasipiju.dos
您的變量命名有問題。 當它們以數字開頭時,變量名稱中帶有百分號的fisrt字符被視為參數。 因此, %11A1%
(以及其他變量)將被轉換為%1 1A1 ...
從命令行,這沒有問題,因為沒有參數替換,但在批處理文件中,以數字開頭的變量會產生這種問題。
有兩種解決方案。
%11A1%
更改為!11A1!
第一個選項可能更好,因為更簡單,可以產生更少的問題,但兩者都可以使它工作
問題在於你的變量名,它不應該以數字開頭。
當批次看到echo %11A1%...
它替換了%1
的第一個命令行參數,因此,假設您沒有提供任何參數,這將成為
[nothing]1A1...
解決方案:使用其他角色啟動變量。 “A..Z”是傳統的。 如果你想成為一個有點異國情調,那么$
和#
似乎是明顯的選擇。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.