• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MSDOSバッチコマンド for-do)

MSDOSバッチコマンドのfor-doで過去31日間のファイルを保存する方法

このQ&Aのポイント
  • MSDOSバッチコマンドのfor-doを使用して、WinXPで過去31日間のファイルを保存する方法を紹介します。
  • doループ内で環境変数nextdayが正しく帰ってこないという問題が発生しています。解決方法についてのアドバイスをお願いします。
  • 具体的なバッチコマンドの記述例とともに、コードの動作を説明します。また、終了時にはファイルのコピーが行われます。

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

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

遅延展開する必要があるのかなぁ? 使ったことないけど.

y04010351
質問者

お礼

アドバイスありがとうございます。 遅延展開(setlocal enabledelayedexpansion) させたら、期待通り動作しました。 :------------------------------------------- @echo off setlocal enabledelayedexpansion set maxday=30 set delday=31 cls echo 開始します。 Enter キーを 押してください。 pause > nul echo delete old%delday%.dat for /l %%i in (%maxday%,-1,1) do ( set /a nextday=%%i+1 set nextday echo rename old%%i.dat old!nextday!.dat echo rename old%%i.dat old%nextday%.dat ) echo. echo copy today.dat old1.dat echo. echo 終了しました。 Enter キーを 押してください。 pause > nul endlocal :-------------------------------------------

関連するQ&A

専門家に質問してみよう