- 締切済み
Windowsバッチファイルに関しての質問
あるディレクトリから更新時間が最新であるファイルを一つだけコピーして移すバッチファイルを作成したいのですが、誰か教えてください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- pita-gora
- ベストアンサー率70% (102/145)
回答No.2
バッチを実行したディレクトリから、最新のファイルをC:\tmpへコピーするサンプルです。 -------------------------------------------------------- @echo off for /f "delims=" %%a in ('dir /b /o:d /a:-d') do set fname=%%a copy "%fname%" c:\tmp
- oldroot2005
- ベストアンサー率66% (68/103)
回答No.1
簡単な動作確認しかしていないので、十分にテストしてくださいね。また、日時のフォーマットは言語の設定で変わるかも知れないので、デフォルトと異なる設定にしている場合には、コードを直さないといけないかも知れません。 newest.bat ディレクトリ名 のように使います。 ----- newest.bat ----- setlocal set list="%temp%\newest.txt" type nul > %list% for /f "tokens=*" %%A in ('dir /b /a-d "%~1"') do ( echo %%~tA %%A >> %list% ) for /f "tokens=1,2*" %%A in ('sort /r %list%') do ( copy "%%C" "%temp%" goto :EOF ) endlocal
お礼
ありがとうございます。 とても助かりました。