[英]Variable in for loop in a batch file
這是我的批處理文件:
@echo off
cd "D:/myFiles"
for /r %%filename in (*) do (
set f=%%filename
echo %f%
)
pause
我期望的是,它將列出myFiles目錄中的所有文件。
但是我得到的是“回聲關閉”的次數與目錄“ myFiles”中文件的數量相同。
同
echo %%filename
我可以列出文件名,但是我必須對文件名執行更多操作,因此必須將其存儲在變量中,就像當前存儲在變量f中一樣。
任何幫助將不勝感激。
您需要使用setlocal enabledelayedexpansion來重新評估在循環內設置的變量。 變量擴展需要!var!
用法,而不是%var%
。 例如
setlocal enabledelayedexpansion
@echo off
for /r %%f in (*) do (
set n=%%f
echo !n!
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.