@echo off
setlocal EnableDelayedExpansion
set i=0
for %%X in (*.jpg;*.png) do (
set ext=%%~xX
set /a i+=1
set num=0000!i!
set name=!num:~-3!
copy "%%X" "!name!!ext!"
)
这是我放在一起的批处理文件,用于将我填充的一些图像重命名为3位数字(001,002,...)。虽然如果我在一个文件夹中有超过999个文件,只是进入并更改填充是微不足道的,但是让脚本计算所需的填充可能会更有效。
我正在尝试执行以下操作
1 - 获取当前目录中的文件数
2 - 将其设置为填充并照常进行
我该怎么做?
答案 0 :(得分:0)
您需要两个循环,在第一个循环中,您只能获得文件的计数和计数器的字符串长度。
然后将其设置为变量ex。
set padLength=%stringLenOfCounter%
然后您只需要将第二个循环更改为
for %%X in (*.jpg;*.png) do (
...
set name=!num:~-%padLength%!
...
)