自动重命名随机命名文件,编号为01,02,03,

时间:2014-02-24 09:24:11

标签: windows file

我希望能够将具有随机名称的文件重命名为以下内​​容的方法:00,01,02,...

有自动化方法吗?

2 个答案:

答案 0 :(得分:2)

借用这些答案herehere以及我自己来弄清楚如何在文件0-9前面加上“0”前缀,以下是我提出的内容,可以创建简单的renumber.bat文件。

setlocal enabledelayedexpansion
set /a count=0
for /r %%i in (*.jpg) do (
    echo %%i
    if !count! LSS 10 rename %%i 0!count!.jpg
    if !count! GEQ 10 rename %%i !count!.jpg
    set /a count+=1
)

将上面的代码段保存到要重命名的jpg文件目录中名为“renumber.bat”的文件中。然后只需从命令行调用“renumber.bat”。当然,你应该备份所有这些文件。我的脚本总是有可能出现错误......

答案 1 :(得分:1)

这应该做:

@SETLOCAL ENABLEDELAYEDEXPANSION

@set /a counter=1
@set counterFormatted="1"
@for /f "tokens=*" %%f in ('dir /b *.jpg') do @(
  @set counterFormatted=00000!counter!
  @rename %%f !counterFormatted:~-5!.jpg
  @set /a counter = !counter! + 1
)

它也会自动填充数字。您可以通过更改添加到counterFormatted的零的数量并根据您的要求修改重命名中的~-5来轻松修改填充。

只需将其放在某个bat文件中,然后在包含文件的目录中运行它。如果您要重命名具有不同扩展名的文件,可以像以前一样修改dir中的过滤器,然后按照以下方式修改rename行:

@rename %%f !counterFormatted:~-5!%%~xf

在这种情况下,请注意不要将bat文件放在同一个文件夹中,否则它也会被重命名:)