Categories: Windows

Windowsのbat(バッチファイル)でファイルを削除する方法

Windowsのバッチファイルを用いることでファイルやフォルダの削除を行うことができます。本記事では、削除を行う「del」コマンドの使い方を紹介します。

なお、今回紹介する「del」コマンドではファイルの削除のみしか実施できず、フォルダ(ディレクトリ)の削除はできません。ディレクトリの削除については「rmdir(rd)」コマンドを使う必要があり、そちらは以下の記事にまとめていますので、ディレクトリの削除が目的の方は以下の記事を参照してください。

Windowsのバッチファイルを用いることでフォルダ(ディレクトリ)の削除や、あるいはフォルダの中のファイルを含めてフォルダを丸ごと削除す...

ファイル削除を実現するdelコマンドの文法

ファイルの削除を行うdelコマンドの文法は、以下となります。Optionについては付けなくても構いません。Optionの詳細については、記事の後半で紹介します。

del [option] [file/directory]

delコマンドを用いたファイルの削除(Option無し)

まずは、Optionの無いシンプルな記述について紹介します。

ファイル名を指定したファイルの削除

以下のように記述を行う場合、カレントディレクトリにある「test.txt」というファイルが削除されます。実行すると特に確認も求められず消えてしまうので、使用には注意が必要です。

del test.txt

ディレクトリ名を指定したファイルの削除

次にディレクトリ名を指定した場合について見ていきます。以下の場合、testfolderというフォルダの中に入っているファイルが全て削除されます(ディレクトリは残るので注意)。

del testfolder

ディレクトリ名を指定する場合は、以下のように削除に際し確認を求められます。ここで「Y」を入力することで、ディレクトリ内の全てのファイルの削除が実施されます。

delコマンドを用いたファイルの削除(Option解説)

では、次にOptionを付けた場合の動作を紹介します。よく使うOptionに関しては、以下があります。

オプション動作
/Pファイル削除の前に、確認のメッセージを表示する
/Qファイル削除の前に、確認メッセージを表示しない
/S指定したファイルを全てのサブディレクトリから削除する

コマンド例:\Qオプションを用いてファイル削除時に確認メッセージを表示しない

前述の通り、コマンドの使い方によっては削除の際に、確認としてY/Nの入力が必要になる場合があります。これが鬱陶しいという場合に便利なのが「\Q」オプションです。

以下のように記述することで、確認を省略してtestfolderを消去することができます。

del /Q testfolder

逆に/Pオプションを付けることで確認のメッセージを出すようにすることもできます。バッチの誤起動により想定外にファイルが消えてしまったりすることを防ぐために、確認メッセージをむしろつけたいという場合に便利です。

コマンド例:\Sオプションを用いて指定したファイルを全てのサブディレクトリから削除する

/Sコマンドを用いると、指定したファイル名のファイルを、カレントディレクトリの下にある全てのディレクトリを探して消去することができます。

del /S test.txt

上記のコマンドを実行すると、カレントディレクトリの下にあるディレクトリ全てをチェックし、その中にある「test.txt」が全て消去されます。

よって、さまざまな階層にtest.txtが配置されている場合には、複数のファイルが消去されることもあります。

まとめ

delコマンドを用いたファイルの削除を紹介しました。delコマンドを応用することで、フォルダやファイルの管理を自動化することができます。具体的なdelコマンドの応用方法について、用途ベースで以下の記事でも紹介していますので、参考にしてみてください。

Windowsのバッチファイルを用いることでファイルやフォルダの削除を行うことができます。本記事では、ディレクトリ構造を保持したまま中のフ...
Windowsのバッチファイルを用いることでファイルやフォルダの削除を行うことができます。本記事ではそれを応用して、あるフォルダの下にある...
Haruoka