批量重命名具有相似名称的文件

时间:2013-11-06 16:50:57

标签: batch-file batch-rename

我正在尝试创建一个批处理脚本来重命名下载的文件。下载后,文件具有包含时间戳的类似名称。名称中的时间戳与“上次修改”时间戳的值不同(通常仅为几秒)。例如:

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

有没有办法确保以正确的顺序重命名文件?

1 个答案:

答案 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以使其正常运行。