在for循环中用前导零填充

时间:2017-10-04 12:16:58

标签: batch-file cmd windows-10

以下是我正在撰写的批处理脚本的一些相关部分。我需要它循环遍历一些数字,必要时用前导零填充它们,并使用填充值作为文件名的一部分调用复制命令。

@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,这显然不是我想要的。

为什么会这样?

0 个答案:

没有答案