1

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

Export_2013_11_06_15_13_31.csv
Export_2013_11_06_15_13_41.csv
Export_2013_11_06_15_13_51.csv

等等

这些文件中的每一个都需要根据它们最后修改的时间戳(而不是名称中的时间戳)按字母顺序重命名为特定名称。最近的文件必须命名为下一个和最旧的。Bart.csvCarol.csvJune.csv

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

4

1 回答 1

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以使其正常工作。

于 2013-11-06T18:52:42.143 回答