以下是我正在撰写的批处理脚本的一些相关部分。我需要它循环遍历一些数字,必要时用前导零填充它们,并使用填充值作为文件名的一部分调用复制命令。
@ECHO ON
setlocal EnableDelayedExpansion
FOR /L %%i IN (1,1,5) DO (
set padded=000000%%i
echo %SourceDir%\e20155*!padded:~-3!000.txt
copy /b %SourceDir%\e20155*!padded:~-3!000.txt %CombinedDir%\seq%%i.txt2
)
这回应:C:\Users\user\Documents\American Community Survey\tracts_blockgroups\e20155*005000.txt
但它运行:copy /b C:\Users\user\Documents\American Community Survey\tracts_blockgroups\e20155*!~-3!000.txt D:\American Community Survey\tracts_blockgroups_combined\seq5.txt2
,这显然不是我想要的。
为什么会这样?