我希望能够将具有随机名称的文件重命名为以下内容的方法:00,01,02,...
有自动化方法吗?
答案 0 :(得分:2)
借用这些答案here和here以及我自己来弄清楚如何在文件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
文件放在同一个文件夹中,否则它也会被重命名:)