![](/img/trans.png)
[英]findstr command variable expansion in path in for loop batch script(windows, batch script)
[英]windows batch script for loop variable expansion not working
我正在Windows腳本數組和for循環上關注本教程。 這些示例無法正常運行,在Windows 7和10上均進行了測試。
當我運行以下for循環時:
:: @echo off
set list = 1 2 3 4
(for %%a in (%list%) do (
echo %%a
))
我得到以下輸出:
set list = 1 2 3 4
(for %a in ((null)) do (echo %a ) )
變量列表的內容未打印在for循環中。 我期待得到
1
2
3
4
有任何想法嗎?
有關使用基本批處理命令(如SET)的信息,請參閱SS64很好的信息源。 在您的情況下,如前所述,擴展變量名稱%list%如果在其定義中存在空格,則必須包含空格。 如果變量定義中不需要該空間,則只需在SET語句中將其刪除。
數組變量值列表之間的空格不代表任何問題,並且在許多示例應用程序中特別方便,尤其是FOR循環,因為它們允許使用令牌來查找正確的值。 此示例有效:
@echo off
set "list= 1 2 3 4"
for %%a in (%list%) do (
echo %%a
)
要了解在批處理腳本中使用數組的方法,請閱讀Aacini的答案:
一些專家對批量使用“數組”術語進行了辯論。 例如在DIR輸出到BAT陣列中查看dbenham的答案嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.