• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ファイル名の一部に年月日が入っているファイルを、指定日以前のもののみ一)

ファイルの指定日以前の一括削除方法を教えてください

このQ&Aのポイント
  • ファイル名に年月日が入っているファイルを、指定日以前のもののみ一括削除する方法を教えてください。
  • バッチファイルを作成して指定日以前のファイルを削除しようとしていますが、フォルダ内のサブフォルダのファイルは削除できません。VBScriptなどを使用して簡単に削除する方法があれば教えてください。
  • フォルダ内にある特定の日付以前のファイルのみを一括で削除する方法を教えてください。バッチファイルを使用していますが、サブフォルダのファイルは削除できません。VBScriptなどの別の方法があれば教えてください。

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

  • ベストアンサー
  • kazuma299
  • ベストアンサー率100% (4/4)
回答No.1

こんにちは。 >for %%F in (*.txt *.log) do if %%F LSS %DT% del /s %%F この1行を、以下のように書き換えました。 for /R .\ %%F in (*.txt *.log) do if %%~nF LEQ %DT%99999999 (del /s %%~nxF) 【ご説明】 ・for /R .\ %%F in (*.txt *.log) /R .\と指定すると、カレントフォルダにあるサブフォルダのファイルも検索されます。 カレントフォルダがBCPなので、BCP以下の年月別のサブフォルダにある*.txt *.logが処理対象になります。 ・if %%~nF LEQ %DT%99999999 (del /s %%~nxF) >2)1日1回バッチファイルを起動し、指定日以前に作成したファイルを全て削除する。 この条件があるので、比較方法をLSS(より小さい)からLEQ(以下)に変更しました。 ファイル名の年月部分と比較する年月の桁を合わせるために、%DT%から%DT%99999999に変更しました。 拡張子を除いたファイル名を使うために、%%Fから%%~nFに変更しました。 パスを除いたファイル名を使うために、%%Fから%%~nxFに変更しました。 よろしくお願いします。

jackstar7
質問者

お礼

大変遅くなりましたが、ご回答有難うございました。

関連するQ&A