根据目录中的文件数填充

时间:2012-09-05 15:01:33

标签: batch-file

@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 - 将其设置为填充并照常进行

我该怎么做?

1 个答案:

答案 0 :(得分:0)

您需要两个循环,在第一个循环中,您只能获得文件的计数和计数器的字符串长度。

然后将其设置为变量ex。

set padLength=%stringLenOfCounter%

然后您只需要将第二个循环更改为

for %%X in (*.jpg;*.png) do (
    ...
    set name=!num:~-%padLength%!
    ...
)