デスクトップaaa

Windowsで指定日にフォルダの中身を自動削除する方法【タスクスケジューラ】

Windowsでは「タスク スケジューラ」を利用することで、指定した日にフォルダの中身を自動的に削除できます。

今回は例として、

「2026年12月28日になったら、デスクトップにある『aaa』フォルダの中身をすべて自動削除する」

という設定を行います。

さらに、指定した時間にパソコンの電源が入っていなかった場合でも、その後Windowsを起動したときに実行されるように設定します。

今回やること

設定内容は次のとおりです。

  • 対象:デスクトップの「aaa」フォルダ
  • 削除対象:「aaa」の中にあるファイルとフォルダ
  • 「aaa」フォルダ自体は残す
  • 実行日:2026年12月28日
  • 実行時刻:午前9時
  • ゴミ箱を経由せず削除
  • 指定時刻にPCがOFFなら、その後実行可能になった時点で削除

それでは設定していきます。

1.削除用のBATファイルを作成する

まずWindowsの「メモ帳」を開きます。

メモ帳に以下の内容を貼り付けてください。

@echo off

del /f /s /q “%USERPROFILE%\Desktop\aaa\*” >nul 2>&1

for /d %%D in (“%USERPROFILE%\Desktop\aaa\*”) do (

    rd /s /q “%%D”

)

exit

このファイルを次の場所に保存します。

C:\Scripts\delete_aaa.bat

「C:\Scripts」というフォルダが存在しない場合は、新しく作成してください。

ファイル名は、

delete_aaa.bat

とします。

拡張子が「.txt」にならないように注意してください。

2.このBATファイルで何が削除される?

例えば、デスクトップが次の状態だったとします。

デスクトップ

└─ aaa

   ├─ 写真.jpg

   ├─ test.txt

   ├─ フォルダ1

   └─ フォルダ2

BATファイルが実行されると、

写真.jpg

test.txt

フォルダ1

フォルダ2

が削除されます。

一方、一番外側の「aaa」フォルダ自体は残ります。

また、この方法では通常のエクスプローラーから削除するときとは違い、ゴミ箱を経由しません。

3.タスク スケジューラを起動する

次にWindowsのスタートボタンを押します。

検索欄に、

タスク スケジューラ

と入力してください。

表示された「タスク スケジューラ」を起動します。

起動したら、画面右側にある、

「タスクの作成」

をクリックします。

「基本タスクの作成」ではなく、「タスクの作成」を使用します。

4.「全般」を設定する

「全般」タブを開きます。

「名前」の部分に、

aaa自動削除

と入力します。

必要に応じて、

「ユーザーがログオンしているかどうかにかかわらず実行する」

を選択します。

さらに、実行権限の問題を避けたい場合は、

「最上位の特権で実行する」

にもチェックを入れます。

5.2026年12月28日に実行するように設定

上部にある、

「トリガー」

タブを開きます。

続いて、

「新規」

をクリックします。

「タスクの開始」は、

「スケジュールに従う」

を選択します。

設定は、

「1回」

を選択します。

開始日時を次のように設定します。

2026/12/28

09:00

今回は午前9時にしていますが、実行時刻は好きな時間に変更できます。

最後に「有効」にチェックが入っていることを確認して「OK」をクリックします。

6.削除用BATファイルを指定する

続いて、

「操作」→「新規」

をクリックします。

「操作」の項目では、

「プログラムの開始」

を選択します。

「プログラム/スクリプト」に、

C:\Scripts\delete_aaa.bat

を指定します。

設定できたら「OK」をクリックします。

7.指定日にPCがOFFだった場合にも実行させる

今回の設定で特に重要な部分です。

「タスク スケジューラ」の、

「設定」

タブを開きます。

その中にある、

「スケジュールされた時刻にタスクを開始できなかった場合、すぐにタスクを実行する」

にチェックを入れます。

これで、2026年12月28日の午前9時にパソコンの電源が入っていなかった場合でも、その後Windowsが起動してタスクを実行できる状態になったときに処理されます。

8.設定を保存する

最後に「OK」をクリックして設定を保存します。

Windowsの設定によっては、Windowsアカウントのパスワード入力を求められる場合があります。

その場合は使用しているWindowsアカウントのパスワードを入力します。

これで設定完了です。

設定後の動作

今回の設定では、

2026年12月28日 午前9時

になると、

デスクトップ\aaa

の中に入っているファイルやサブフォルダが自動的に削除されます。

「aaa」フォルダそのものは残ります。

また、12月28日の午前9時にパソコンの電源が入っていなくても、「スケジュールされた時刻にタスクを開始できなかった場合、すぐにタスクを実行する」を有効にしておけば、その後タスクを実行できる状態になったときに処理されます。

削除したデータは復元できない?

今回使用している「del」や「rd」は、Windowsのゴミ箱を経由せずに削除します。

そのため、エクスプローラーからゴミ箱を開いて元に戻すことはできません。

ただし、

「ゴミ箱から復元できない」=「データ復旧ソフトでも絶対に復元できない」

という意味ではありません。

特に「復元を困難にする」という目的では、HDDとSSDで適切な方法が異なります。

そのため、単純に指定日に不要なデータを自動削除したい場合は今回の方法で十分ですが、データを復旧困難な状態にする必要がある場合は、使用しているドライブの種類に合わせた方法を検討する必要があります。

まとめ

Windowsの「タスク スケジューラ」とBATファイルを組み合わせれば、指定した日に特定フォルダの中身を自動削除できます。

今回の例では、

2026年12月28日 → デスクトップの「aaa」の中身を自動削除

という処理を設定しました。

毎回自分で削除する必要がないため、「この日に削除しようと思っていたのに忘れてしまった」というケースを防ぐことができます。

指定した時間にパソコンが起動していなくても、タスクスケジューラ側で実行できなかったタスクを後から実行する設定にしておけば、自動削除を実行できます。

@echo off
echo ================================
echo aaaフォルダ削除テスト
echo ================================
echo.

set “TARGET=C:\Users\240059AD01\Desktop\aaa”

echo 削除対象:
echo %TARGET%
echo.

if not exist “%TARGET%\” (
echo 【エラー】フォルダが見つかりません。
echo.
pause
exit /b
)

echo フォルダが見つかりました。
echo.
echo 現在の中身:
dir “%TARGET%”
echo.

echo 削除を開始します…

del /f /s /q “%TARGET%\*” 2>&1

for /d %%D in (“%TARGET%\*”) do (
rd /s /q “%%D”
)

echo.
echo ================================
echo 削除処理が終了しました。
echo ================================
echo.
echo 削除後の中身:
dir “%TARGET%”

echo.
pause

コメント

タイトルとURLをコピーしました