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 に答える