如何编写批处理文件以在特定文件夹中以数字顺序重命名文件?

时间:2015-07-22 00:01:10

标签: batch-file

我有一个包含三张图片的文件,名为ape.jpg,123.jpg,zoo.jpg 我想写一个批处理文件,它可以将所有三个图片重命名为数字顺序。

ape.jpg -> (1).jpg
123.jpg -> (2).jpg
zoo.jpg -> (3).jpg

我并不真正关心这些图片的原始名称和顺序,我知道这可以在任何版本的Windows中通过手动进入该文件夹并将其全部选中,将其中一个重命名为(1),剩下的照片将以数字顺序排列。但我想用批处理文件来做这件事。

1 个答案:

答案 0 :(得分:2)

您应该可以使用FOR循环和计数器变量执行此操作。 for将遍历dir的输出以获取完整的文件列表,然后按顺序重命名。

setlocal enabledelayedexpansion
set i=1
for /F %%a in ('dir /B *.jpg') do (
  echo ren "%%a" "(!i!).jpg"
  set /a i+=1
)
endlocal

这不能保证它们出现的顺序,但它应该对当前目录中的所有* .jpg文件进行操作。运行它,它将显示它将使用的重命名命令。要使其实际重命名文件,请删除echo行前的ren