Windowsのバッチファイルを活用する際に、フォルダを削除する「rd」コマンドは欠かせません。特に、スクリプトを自動化する際には、安全かつ効率的にディレクトリを削除する方法を理解しておくことが重要です。本記事では、rdコマンドの基本的な使い方から応用テクニックまで詳しく解説します。
rd(rmdir)コマンドは、Windowsのコマンドプロンプトやバッチファイルで使用できるディレクトリ削除コマンドです。以下のような特徴があります。
rd [オプション] ディレクトリ名 | オプション | 説明 |
|---|---|
| /S | 指定したディレクトリとその中の全てのファイル・サブディレクトリを削除 |
| /Q | 削除の確認を求めずに実行(サイレントモード) |
rd C:\test_folder このコマンドは C:\test_folder を削除します。ただし、フォルダ内にファイルがあるとエラーになります。
rd /S C:\test_folder /S オプションを使用すると、フォルダ内の全てのファイルとサブディレクトリを削除できます。
rd /S /Q C:\test_folder /Q オプションを追加すると、削除確認なしで即時削除されます。
@echo off
rd /S /Q C:\test_folder このスクリプトを delete_folder.bat というファイル名で保存し、ダブルクリックすれば C:\test_folder が削除されます。
@echo off
set target_folder=C:\test_folder
rd /S /Q %target_folder% %target_folder% に削除対象のフォルダパスを格納することで、汎用性の高いスクリプトになります。
@echo off
echo フォルダを削除しますか? (Y/N)
set /p choice="選択: "
if /I "%choice%" EQU "Y" rd /S /Q C:\test_folder このスクリプトでは、Y を入力した場合のみフォルダを削除します。
C:\Program Files などのシステムディレクトリを削除する際は、管理者として実行する必要があります。アクセスが拒否されました というエラーが出ることがあります。rd /S /Q "C:\Users\Public\Documents\My Folder"@echo off
forfiles /P C:\backup /D -7 /C "cmd /c rd /S /Q @path" このスクリプトは C:\backup フォルダ内で7日以上経過したフォルダを削除します。
@echo off
for %%F in (C:\temp1 C:\temp2 C:\temp3) do rd /S /Q %%F 指定した複数のフォルダを一括で削除することができます。
Windowsのバッチで使うrd コマンドは、フォルダ削除を自動化するのに非常に便利です。特に /S や /Q オプションを活用することで、より柔軟な削除処理が可能になります。しかし、使用を誤ると重要なデータを消去してしまうリスクがあるため、慎重に扱いましょう。
バッチスクリプトと組み合わせることで、より高度なフォルダ管理ができるので、ぜひ実践してみてください。