Windowsのバッチファイルを用いることでファイルやフォルダの削除を行うことができます。本記事では、削除を行う「del」コマンドの使い方を紹介します。
なお、今回紹介する「del」コマンドではファイルの削除のみしか実施できず、フォルダ(ディレクトリ)の削除はできません。ディレクトリの削除については「rmdir(rd)」コマンドを使う必要があり、そちらは以下の記事にまとめていますので、ディレクトリの削除が目的の方は以下の記事を参照してください。
ファイルの削除を行うdelコマンドの文法は、以下となります。Optionについては付けなくても構いません。Optionの詳細については、記事の後半で紹介します。
del [option] [file/directory]
まずは、Optionの無いシンプルな記述について紹介します。
以下のように記述を行う場合、カレントディレクトリにある「test.txt」というファイルが削除されます。実行すると特に確認も求められず消えてしまうので、使用には注意が必要です。
del test.txt
次にディレクトリ名を指定した場合について見ていきます。以下の場合、testfolderというフォルダの中に入っているファイルが全て削除されます(ディレクトリは残るので注意)。
del testfolder
ディレクトリ名を指定する場合は、以下のように削除に際し確認を求められます。ここで「Y」を入力することで、ディレクトリ内の全てのファイルの削除が実施されます。
では、次にOptionを付けた場合の動作を紹介します。よく使うOptionに関しては、以下があります。
オプション | 動作 |
/P | ファイル削除の前に、確認のメッセージを表示する |
/Q | ファイル削除の前に、確認メッセージを表示しない |
/S | 指定したファイルを全てのサブディレクトリから削除する |
前述の通り、コマンドの使い方によっては削除の際に、確認としてY/Nの入力が必要になる場合があります。これが鬱陶しいという場合に便利なのが「\Q」オプションです。
以下のように記述することで、確認を省略してtestfolderを消去することができます。
del /Q testfolder
逆に/Pオプションを付けることで確認のメッセージを出すようにすることもできます。バッチの誤起動により想定外にファイルが消えてしまったりすることを防ぐために、確認メッセージをむしろつけたいという場合に便利です。
/Sコマンドを用いると、指定したファイル名のファイルを、カレントディレクトリの下にある全てのディレクトリを探して消去することができます。
del /S test.txt
上記のコマンドを実行すると、カレントディレクトリの下にあるディレクトリ全てをチェックし、その中にある「test.txt」が全て消去されます。
よって、さまざまな階層にtest.txtが配置されている場合には、複数のファイルが消去されることもあります。
delコマンドを用いたファイルの削除を紹介しました。delコマンドを応用することで、フォルダやファイルの管理を自動化することができます。具体的なdelコマンドの応用方法について、用途ベースで以下の記事でも紹介していますので、参考にしてみてください。