for ループを含むスクリプトがあります。
for /F "delims=" %%F in ('dir /B *.jpg') do call :renameit %%F
ファイルを EXIF 日付/時刻フィールドで並べ替えるために、dir コマンドを変更する方法はありますか。スクリプトは写真の名前を変更するためのものなので、並べ替え基準として写真の実際の日付/時刻を考慮して名前を変更したいと思います。
ありがとう
画像の EXIF データを使用するには、EXIFToolなどのサードパーティ ツールを使用する必要があります。
ネイティブ バッチ コマンドのみを使用して、ファイルの作成日または最終更新日時を参照するだけです。
Dir は、作成日または最終更新日のいずれかでファイルを並べ替えることができます。以下はdir /?
、作成日に基づいてファイルを並べ替えます (古い順)。
dir *.jpg /B /O:D /T:C
この情報は、ループを使用する場合とオプション onを使用for /f
しない場合のループ中に使用することもできます。/b
dir
t
%%~tF が問題のファイルの最終変更時刻を表示する変数オプションもあります。必要な情報を解析する方法については、StackOverflow や Web 上にたくさんの例があります。