質問: スナップショットフォルダを自動コピーしたいです。 nightly.0~29が作成される予定です。 今は、nightly.0~19まで作成され毎日24時に20~29までが作成されていきます。 そこで、月~木はnightlyの番号が一番大きいもの 金曜は、nightlyの番号が大きいものから3つをコピーしたいのです。 robocopyやcopyで、オプションを検索してもさすがにできないので batを組んでやりたいのですが条件指定がどうしてもわかりません。 教えて下さい。 自分の頭では、下記のような流れだと思っていますがどうしてもプログラムにできませんでした。 ーーーーーーーーーーーーーーー cd フォルダを指定 判定 真のフォルダを指定 指定フォルダへコピー ーーーーーーーーーーーーーーー
回答: 月木曜と、金曜は別のファイルで良いですよね? 0,1,~~,29だとソートできないので、00,01,~~09,10,~29にリネームします。 月~木曜.bat cd 目的フォルダ for /L %%I in (0,1,9) do if exist nightly.%%I move /y nightly.%%I nightly.0%%I for /F %%F in ('dir /b /on') do set F=%%F xcopy オプション %F% コピー先 金曜.bat cd 目的フォルダ for /L %%I in (0,1,9) do if exist nightly.%%I move /y nightly.%%I nightly.0%%I set N=0 for /F %%F in ('dir /b /o-n') do call :SUB %%F exit /b :SUB set /a N+=1 if %N% leq 3 xcopy オプション %1 コピー先 exit /b