您好我正在处理一个小批处理文件,使我在目录中重命名文件,到目前为止循环正在工作但我想在我的计数器结果前面0
:{/ p >
setlocal ENABLEDELAYEDEXPANSION
SET /A counter=0
for %%A IN (*.txt) DO (
SET /A counter+=1
copy "%%A" "directory/%%A.!counter!.txt"
)
这完美地输出为:
tvscriptmonday.txt => TVscriptmonday.1.txt tvscripttuesday.txt => TVscripttuesday.2.txt
但我希望得到输出:
TVscriptmonday.01.txt TVscripttuesday.02.txt
我尝试使用IF
命令:
if !counter! <9 set counter=0!counter!
但不知怎的,我无法让它发挥作用,任何人的想法?
答案 0 :(得分:1)
使用一个小技巧:
setlocal ENABLEDELAYEDEXPANSION
SET /A counter=100
for %%A IN (*.txt) DO (
SET /A counter+=1
copy "%%A" "directory/%%A.!counter:~-2!.txt"
)
:~-2
仅从计数器获取最后两个字符。
可扩展:例如,如果您需要一个四位数方案,从10000开始计数并使用:~-4