• ベストアンサー

bat について

@echo on for %%F in ( D:\1\*.xls ) do call :sub "%%F" %%~tF exit /b :sub if not %2==%date% goto :EOF copy /d /y "%~f1" D:\2 goto :EOF 上記は1のフォルダのxlsの最新のファイルを2のフォルダにコピー ですが1のフォルダの中に1Fを含むファイル(20120915-1F) この1Fを含むファイルで最新のファイルだけを2のフォルダにコピーしたいのです。 どうか宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • prum
  • ベストアンサー率44% (227/506)
回答No.2

if not %2==%date% goto :EOF 最新のファイルではなくて当日更新のファイルのみコピーのようですが >1Fを含むファイルだけ選択 for %%F in ( D:\1\*.xls ) do call :sub "%%F" %%~tF ↓ for %%F in ( D:\1\*1F*.xls ) do call :sub "%%F" %%~tF もし1Fがファイル名の最後でしたら for %%F in ( D:\1\*1F.xls ) do call :sub "%%F" %%~tF

mayumi-235
質問者

お礼

有り難う御座いました、 >for %%F in ( D:\1\*1F*.xls ) do call :sub "%%F" %%~tF ばっちりですがXPでは動きませんでした。

その他の回答 (2)

  • prum
  • ベストアンサー率44% (227/506)
回答No.3

%~tI - %I ファイルの日付/時刻に展開します。 Xpで使用できるか確認して下さい。7ではOKでした 確認方法 for /?

mayumi-235
質問者

お礼

有り難う御座いました。 XPでは動きませんでした。

  • usatan2
  • ベストアンサー率37% (163/436)
回答No.1

具体的にはわかりませんが、 sub の中に、 「1Fを含むファイル」でなかったら何もしないで戻る という命令文を追加すればよいのではないですか?

mayumi-235
質問者

お礼

初心者ですみません

関連するQ&A