ファイル、フォルダの削除
コマンドプロンプトやバッチファイルを作成する際、処理の後片付けとして、使用したファイルを削除したいケースはよくあるんじゃないでしょうか。
コマンドプロンプトでは、ファイルの削除コマンドとフォルダの削除コマンドはそれぞれ異なります
今回はコマンドプロンプトを使って、ファイル・フォルダを削除する方法を紹介します。バッチファイルも同様の記述で実現できます。
指定したファイルを削除する方法
まず、指定したファイルを削除する方法を紹介します。
削除にはdel
コマンドを使用します。
オプションを未指定の場合、実行時に確認メッセージは表示されず、ゴミ箱にも格納されず完全に削除されます。
コマンドプロンプトから実行
マイドキュメントに保存されている「disposable.txt」という名前のファイルを削除するサンプルです。
バッチファイルから実行
@echo off
setlocal
set FOLDER=%userprofile%\Documents\
set FILE=disposable.txt
del %FOLDER%%FILE%
endlocal
exit
del コマンドのオプション
オプションに /p を指定することで、実行時にクライアント側に実行可能かを問います。
バッチファイルの場合はその時点で処理が止まってしまうため、注意してください。
複数指定
ファイルは複数指定することが可能で、スペース、カンマ、セミコロンで区切って指定します。。
コマンドプロンプトからの実行
バッチファイルからの実行
@echo off
setlocal
set FOLDER=%userprofile%\Documents\
set FILE1=disposable.txt
set FILE2=deletable.txt
del %FOLDER%%FILE1% %FOLDER%%FILE2%
endlocal
exit
フォルダを削除する
続いて、フォルダを削除する方法を紹介します。
フォルダの削除にはrmdir
コマンドを使用します。mkdir
と対になるような名称のため覚えやすいかと思います。
mkdir
コマンドについては、以下のページで詳しく解説しています。
短縮されたrd
というコマンドもありますが、実行される処理は同じです。
オプションを指定しなかった場合、このコマンドで削除できるのは空のフォルダのみです。
フォルダに格納されているファイル・フォルダを含め全てを削除したい場合は、後述するオプションの指定が必要です。
コマンドプロンプトから実行
マイドキュメントに保存されている「disposable」というフォルダを削除するサンプルです
バッチファイルから実行
@echo off
setlocal
set PARENT=%userprofile%\Documents\
set DIR=disposable
rmdir %PARENT%%DIR%
endlocal
exit
rmdir コマンドのオプション
フォルダ内のファイルも削除する
フォルダ内のファイルを含めて、全て削除したい場合は /s オプションを指定します。
また、このオプションを使用した場合は、実行時に確認メッセージが表示されます。
この確認メッセージを非表示にしたい場合は、 /q オプションを指定します。