ファイル、フォルダの削除

にメンテナンス済み

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

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

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

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

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

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

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

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

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

×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2024 Ribbit App Development 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) 2024 Ribbit App Development All rights reserved.
 
C:\users\user>del /p %userprofile%\Documents\output.txt

複数指定

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

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

×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2024 Ribbit App Development 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と対になるような名称のため覚えやすいかと思います。

mkdirコマンドについては、以下のページで詳しく解説しています。

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

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

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

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

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

×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2024 Ribbit App Development 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

rmdir コマンドのオプション

フォルダ内のファイルも削除する

フォルダ内のファイルを含めて、全て削除したい場合は /s オプションを指定します。

×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2024 Ribbit App Development All rights reserved.
 
C:\users\user>rmdir /s %userprofile%/documents/disposable

また、このオプションを使用した場合は、実行時に確認メッセージが表示されます。

この確認メッセージを非表示にしたい場合は、 /q オプションを指定します。

×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2024 Ribbit App Development All rights reserved.
 
C:\users\user>rmdir /s /q %userprofile%/documents/disposable

練習問題

練習問題

以下の選択肢のうち、複数のファイルを含むフォルダを削除するコマンドはどれでしょうか?

回答がサーバーに送信されることはありません
#PowerShell #コマンドプロンプト #バッチファイル