按创建日期批量重命名多个文件

按创建日期批量重命名多个文件

这是我在超级用户中的第一个问题。正如您可能在标题中读到的那样,我想使用 .bat 文件重命名多个文件。我目前正在从事一个涉及书籍的项目。在这种情况下,重要的是将书籍章节分开并正确命名,例如,我在同一个目录中有 3 个文件,它们有 3 个章节:

example.pdf创建于 16:44 PM
anotherexample.pdf创建于 16:45 PM
thelastexample.pdf创建于 16:46 PM

我想用从 0 开始递增的数字序列(0、1、2)来重命名它们,但根据创建日期

因此他们可以成为:

1.pdf创建于 16:44 PM
2.pdf创建于 16:45 PM
3.pdf创建于 16:46 PM

如何使用批处理文件或 cmd 命令执行此操作?

答案1

您可以使用这个批处理脚本:

@echo off

:: Put the path to the folder where the files should be renamed here:
set Folder=%userprofile%\desktop\Folder

For /f "Delims=" %%a in ('dir /od /tc /a-d /b "%Folder%"') do call :Rename "%%a" "%%~nxa"
exit

:Rename
set /a Counter+=1
ren "%Folder%\%~1" "%Counter% %~2"
goto :EOF

在此处输入图片描述

答案2

您可以使用 powershell 实现此目的:

$i=0;dir|sort CreationTime|%{$i++;ren "$($_.fullname)" -newn {$i+$_.extension}}

相关内容