バッチ スクリプトを使用して、ディレクトリ内の最も古いファイルを繰り返し移動するにはどうすればよいですか?

バッチ スクリプトを使用して、ディレクトリ内の最も古いファイルを繰り返し移動するにはどうすればよいですか?

バッチ スクリプト (Windows 7) でディレクトリ内の最上位 (最も古い) ファイルを 1 つずつ移動するにはどうすればよいですか?

私は次のスクリプトを使用しています:

:backup
move something somewhere
timeout 36000
goto backup

ディレクトリ内の一番上のファイルを定期的に別のディレクトリに移動したいのですが、スクリプトの各ターンで一番上の (最も古い) ファイルだけを移動するように指定するにはどうすればよいでしょうか?

答え1

バッチ スクリプトを使用して、ディレクトリ内の最も古いファイルを繰り返し移動するにはどうすればよいですか?

次のバッチ ファイルは、test.cmdディレクトリ内の最も古いファイルを移動します。

@echo off
rem parameters
rem %1 source directory
rem %2 target directory
Setlocal EnableDelayedExpansion
:backup
for /f "tokens=*" %%a in ('dir "%1" /a-d /b /o-d') do set something=%%a
move "%1\%something%" "%2\%something%"
timeout 36000
goto backup

パラメータを指定してバッチ ファイルを呼び出します。例:

test olddirectory newdirectory

関連情報