こんな人におすすめ:
- Windowsで不要ファイルの定期的な削除を自動化したいシステム管理者
- タスクスケジューラーを使って効率化したいPCユーザー
- ログファイルなどの自動整理を検討しているエンジニア
プロンプト例:
「Windowsのタスクスケジューラーを使って、指定フォルダ内の7日以上前のファイルを自動で削除するバッチファイルの作成方法を教えてください。」
プロンプト例の出力結果:
以下のようなバッチファイルを作成し、タスクスケジューラーに登録する方法があります。
例:@echo off
setlocal
set TARGET_DIR="C:\Path\To\Folder"
forfiles /P %TARGET_DIR% /S /M *.* /D -7 /C "cmd /c del @path"
exit /B 0
このバッチファイルは指定フォルダ内で7日以上前の全ファイルを削除します。
タスクスケジューラーで毎日実行するトリガーを設定すれば自動削除が可能です。
Windowsのタスクスケジューラーは、特定の日時や条件で実行するタスクを自動管理する機能です。これを活用し、不要なファイルや古いログファイルを定期的に自動削除できます。
たとえば、forfiles
コマンドを使ったバッチファイルを作成し、タスクスケジューラーで指定の間隔で実行させる設定が一般的です。
設定手順の概要は以下の通りです。
- バッチファイルを作成し、削除対象フォルダと期間を指定(例:2週間前のログファイルを削除)
例:forfiles /P "C:\logdir" /M *.log /D -14 /C "cmd /c del @path"
- Windowsのタスクスケジューラーを起動し、「タスクの作成」から新規タスクを設定
– 名前や説明を入力
– 【トリガー】で実行頻度(日次、週次など)を設定
– 【操作】で先ほど作成したバッチファイルを指定
– 【全般】で「最上位の特権で実行する」にチェック - 設定を保存して動作テストし、自動削除が正常に動くか確認
また、単にファイル操作を自動化する以外に、Windowsの設定内の「ストレージセンサー」機能でもごみ箱や特定フォルダーの一定期間経過後のファイル自動削除が可能です。これはGUIで簡単に設定でき、日常管理に便利です。
タスクの削除自体もschtasks /delete /tn "タスク名" /f
コマンドや、タスクスケジューラーGUIの操作で行えます。誤作動で不要になった自動処理はこの方法で確実に停止してください。