我正在尝试创建一个批处理脚本来重命名下载的文件。下载后,文件具有包含时间戳的类似名称。名称中的时间戳与“上次修改”时间戳的值不同(通常仅为几秒)。例如:
Export_2013_11_06_15_13_31.csv
Export_2013_11_06_15_13_41.csv
Export_2013_11_06_15_13_51.csv
等
这些文件中的每一个都需要根据上次修改时间戳(而不是名称中的时间戳)按字母顺序重命名为 SPECIFIC 名称。最最近的文件必须命名为Bart.csv
,下一个Carol.csv
和最早的June.csv
。
有没有办法确保以正确的顺序重命名文件?
答案 0 :(得分:4)
@echo off&setlocal
set "name1=Bart"
set "name2=Carol"
for /f "delims=" %%a in ('dir /b /a-d /o-d') do (
set "fname=%%~a"
set /a counter+=1
SETLOCAL ENABLEDELAYEDEXPANSION
call set "nname=%%name!counter!%%"
echo ren "!fname!" "!nname!%%~xa"
endlocal
)
删除echo
以使其正常运行。