按修改日期批量重命名多个文件

按修改日期批量重命名多个文件

我得到了一个用于按文件创建日期重命名文件的 bat 脚本,但我需要调整下面的代码以便按修改日期重命名文件。

@echo off

set Folder=%userprofile%\desktop\Images

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

答案1

使用 Dir 命令, dir /T:W但在 NTFS 上这次可能不可靠或不准确。

答案2

@echo off

setlocal && cd/d "%UserProfile%\desktop\images\."

for /f usebacktokens^=* %%i in (`^<con: dir /O:-D /T:W /A:A /B`
)do set/a "_x+=1" && cmd.exe/v/c "ren "%%~dpnxi" "!_x! %%~nxi""

dir/o:n/t:w/a:a/b . & endlocal & timeout /t -1 |echo=iS Done!..

对于我所做的尝试,如果反转-顺序,它会起作用/O:-D/T:W

dir /O:-D /T:W: /A:A /B 

相关内容