Ribbit's works

【コピペで使える】バッチファイルでのファイル、フォルダの削除

記事のトップ画像

コマンドプロンプトやバッチファイルを作成する際、処理の後片付けとして、使用したファイルを削除したいケースはよくあるんじゃないでしょうか。

コマンドプロンプトでは、ファイルの削除コマンドとフォルダの削除コマンドはそれぞれ異なります

今回はコマンドプロンプトを使って、ファイル・フォルダを削除する方法を紹介します。バッチファイルも同様の記述で実現できます。

指定したファイルを削除する方法

まず、指定したファイルを削除する方法を紹介します。

削除にはdelコマンドを使用します。

オプションを未指定の場合、実行時に確認メッセージは表示されず、ゴミ箱にも格納されず完全に削除されます。

コマンドプロンプトから実行

マイドキュメントに保存されている「disposable.txt」という名前のファイルを削除するサンプルです。

コマンドプロンプトのアイコン

コマンド プロンプト

Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2022 Ribbit's works All rights reserved.
 
C:\users\user>del %userprofile%\Documents\disposable.txt _

バッチファイルから実行

@echo off
setlocal

set FOLDER=%userprofile%\Documents\
set FILE=disposable.txt

del %FOLDER%%FILE%

endlocal
exit

del コマンドのオプション

オプションに /p を指定することで、実行時にクライアント側に実行可能かを問います。

バッチファイルの場合はその時点で処理が止まってしまうため、注意してください。

コマンドプロンプトのアイコン

コマンド プロンプト

Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2022 Ribbit's works All rights reserved.
 
C:\users\user>del /p %userprofile%\Documents\output.txt
C:\Users\Public\Documents\text.txt を削除しますか (Y/N)? _

複数指定

ファイルは複数指定することが可能で、スペース、カンマ、セミコロンで区切って指定します。。

コマンドプロンプトからの実行

コマンドプロンプトのアイコン

コマンド プロンプト

Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2022 Ribbit's works All rights reserved.
 
C:\users\user> del %userprofile%\Documents\output.txt %userprofile%\Documents\input.txt _

バッチファイルからの実行

@echo off
setlocal

set FOLDER=%userprofile%\Documents\
set FILE1=disposable.txt
set FILE2=deletable.txt

del %FOLDER%%FILE1% %FOLDER%%FILE2%

endlocal
exit

フォルダを削除する

続いて、フォルダを削除する方法を紹介します。

フォルダの削除にはrmdirコマンドを使用します。mkdirと対になるような名称のため覚えやすいかと思います。

短縮されたrdというコマンドもありますが、実行される処理は同じです。

オプションを指定しなかった場合、このコマンドで削除できるのは空のフォルダのみです。

フォルダに格納されているファイル・フォルダを含め全てを削除したい場合は、後述するオプションの指定が必要です。

コマンドプロンプトから実行

マイドキュメントに保存されている「disposable」というフォルダを削除するサンプルです

コマンドプロンプトのアイコン

コマンド プロンプト

Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2022 Ribbit's works All rights reserved.
 
C:\users\user> rmdir %userprofile%/documents/disposable _

バッチファイルから実行

@echo off
setlocal

set PARENT=%userprofile%\Documents\
set DIR=disposable

rmdir %PARENT%%DIR%

endlocal
exit