web-dev-qa-db-ja.com

Windowsのコマンドプロンプトで特定のディレクトリのファイル/サブフォルダを削除する方法

たとえば、%pathtofolder%という名前の変数があるとします。これは、フォルダのフルパスであることが明確になっているからです。

このディレクトリ内のすべてのファイルとサブフォルダを削除しますが、ディレクトリ自体は削除しません。

しかし、「このファイル/フォルダはすでに使用されています」というようなエラーが発生する可能性があります。

誰かが私にこのためのいくつかのコマンドを与えることができますか?

270
Deniz Zoeteman

このシェルスクリプトを使用して、C:\Tempsource 内のフォルダーとファイルをクリーンアップできます。

del /q "C:\Temp\*"
FOR /D %%p IN ("C:\Temp\*.*") DO rmdir "%%p" /s /q

上記のコマンドを含むバッチファイル(たとえば、delete.bat)を作成します。 delete.batファイルがある場所に移動してから、次のコマンドを実行します。delete.bat

228
Iain

rmdir は、この仕事で私が最もお気に入りのコマンドです。それは巨大なファイルやサブフォルダを持つフォルダを削除するのに役立ちます。バックアップは作成されないので、このコマンドを実行する前にファイルを安全にコピーしたことを確認してください。

RMDIR "FOLDERNAME" /S /Q

これにより、フォルダとすべてのファイルとサブフォルダが自動的に削除されます。

311
Suresh

私が考えることができる最も簡単な解決策は、ディレクトリ全体を削除することです。

RD /S /Q folderPath

それからこのディレクトリをもう一度作成します。

MD folderPath
81
wojciech_rak

これにより、フォルダとファイルが削除され、フォルダが残ります。

pushd "%pathtofolder%" && (rd /s /q "%pathtofolder%" 2>nul & popd)
49
foxidrive
@ECHO OFF

Set dir=path-to-dir

Echo Deleting all files from %dir%
del %dir%\* /F /Q

Echo Deleting all folders from %dir%
for /d %%p in (%dir%\*) Do rd /Q /S "%%p"
@echo Folder deleted.


exit

...指定したディレクトリの下にあるすべてのファイルとフォルダを削除しますが、ディレクトリ自体は削除しません。

35
thepip3r
CD [Your_Folder]
RMDIR /S /Q .

エラーメッセージが表示され、RMDIRコマンドで現在のフォルダにアクセスできない、つまり削除できないことがわかります。

更新

this 便利なコメント( Moritz Both のおかげで)の間に、&&を追加することができるので、RMDIRコマンドが失敗するとCDは実行されません(例:間違ったディレクトリ名)。

CD [Your_Folder] && RMDIR /S /Q .

Windowsのコマンドラインリファレンスから

/S: ディレクトリツリー(すべてのファイルを含む、指定されたディレクトリとそのすべてのサブディレクトリ)を削除します。

/Q: クワイエットモードを指定します。ディレクトリツリーを削除するときに確認を求めません。 (/ qは/ sが指定されている場合にのみ機能することに注意してください。)

24
O.Badr

RDはREMOVE Directoryを表します。

/ S:フォルダ自体に加えてすべてのファイルとサブフォルダを削除します。これを使用してフォルダツリー全体を削除します。

/ Q:静か - YN確認を表示しない

例:

RD /S /Q C:/folder_path/here
9

私はPowershellを使います

Remove-Item c:\scripts\* -recurse

フォルダ自体ではなく、フォルダの内容が削除されます。

7
rhellem

次のコマンドを使用すると、すべてのコンテンツと親フォルダ自体を削除できます。

RMDIR [/S] [/Q] [drive:]path            
4
Ripon Al Wasim

メモ帳を使用してテキスト文書を作成し、これをコピー/貼り付けします。

rmdir /s/q "%temp%"
mkdir "%temp%"

[名前を付けて保存]、[ファイル名]を選択します。

delete_temp.bat

ファイルの種類:[すべてのファイル]をクリックし、[保存]ボタンをクリックします。

あらゆる種類のアカウント(管理者または標準ユーザー)で作業し、実行してください。この例では一時変数を使用していますが、他のものも使用できます。 PS Windows OSのみ!

4

ファイルを削除するには

del PATH_TO_FILE

すべてのファイルを含むフォルダを削除するには:

rmdir /s /q PATH_TO_FOLDER

特定のフォルダからすべてのファイルを削除する(フォルダ自体を削除しない)のは少し面倒です。 del /s *.*はフォルダを削除できませんが、すべてのサブフォルダからファイルを削除します。そのため、2つのコマンドが必要です。

del /q PATH_TO_FOLDER\*.*
for /d %i in (PATH_TO_FOLDER\*.*) do @rmdir /s /q "%i"
3
Maxim Suslov

私はこれらの方法をいくつか試しましたが、どれも適切に機能しませんでした。
私はこの2段階のアプローチをサイトで見つけました Windowsコマンドライン

forfiles /P %pathtofolder% /M * /C "cmd /c if @isdir==FALSE del @file"

forfiles /P %pathtofolder%  /M * /C "cmd /c if @isdir==TRUE rmdir /S /Q @file"

それは私が必要とし、OPによって指定されたとおりに正確に機能しました。

0
Paul Haan
@ECHO OFF
rem next line removes all files in temp folder
DEL /A /F /Q /S "%temp%\*.*"
rem next line cleans up the folder's content
FOR /D %%p IN ("%temp%\*.*") DO RD "%%p" /S /Q
0
Robie