更新日が本日のファイルだけをコピー(移動)するバッチ
今日更新したxlsファイルだけを移動や、コピーするにはどうしたらいいかという質問。
batファイルで質問です。 - 今日更新したxlsファイルだけを移動や、... - Yahoo!知恵袋
batファイルで質問です。hirokun19811201さん
batファイルで質問です。
今日更新したxlsファイルだけを移動や、コピーするにはどうしたら宜しいでしょうか?
例
C:\DATAフォルダ内で
5/12に
C:\DATA\A090512.xls
を作り、
5/11に
C:\DATA\A090511.xls
を作り、
5/10に
C:\DATA\A090510.xls
を作りました。
C:\DATA\A090512.xlsだけを
空のE:\に移動し、
空のF:\にコピーします。move /y C:\DATA\A090512.xls E:\
xcopy /d /y C:\DATA\A090512.xls F:\だと、毎日書き換えないといけないし、
move /y C:\DATA\A*.xls E:\
xcopy /d /y C:\DATA\A*.xls F:\だと、いらないものも移動します。
どうしたら、いいでしょうか?
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1326136753
例ではファイル名に日付が入っていますが、入らない場合もあり得ますので、ファイルのタイムスタンプが本日のものを対象とするバッチファイルの例です。
:------------------------- todaymove.bat @echo off for %%F in ( C:\DATA\A*.xls ) do call :sub "%%F" %%~tF exit /b :sub if not %2==%date% goto :EOF xcopy /d /y "%~f1" F:\ move /y "%~f1" E:\ goto :EOF
例ではmoveが先になっていたので順序を入れ替えています。