web-dev-qa-db-ja.com

Windowsでコマンドラインからディレクトリを再帰的に削除する方法

rm -r [directory-name]と同等のwindowsは何ですか?

231
Eric Wilson

DOSを覚えていればdeltree


それは更新されているようです...これはあなたが望むものです:

RMDIR /S

これにより、ディレクトリC:\testがプロンプトとともに削除されます。

rmdir c:\test /s

これは、プロンプトなしで同じことをします。

rmdir c:\test /s /q

あなたの質問のSudo部分に関して、あなたがより多くの特権を必要とするなら、あなたは最初に次のようにrunasコマンドを使って別のユーザアカウントとして新しいシェルを開くことができます:

runas /user:Administrator cmd
rmdir c:\test /s /q
336
Colin Pickard

RmDirが表示されずエクスプローラでも表示できないことを確認するコマンドから長くて複雑なフォルダ構造を削除したい場合は、robocopyが構造を削除するのに非常に効率的であることがわかりました。以下の例では、フォルダ管理者の内部に大規模な構造がありますが、その構造は非常に深いため、削除することはできません。 (奇妙なことに!) "new folder"という新しい空のフォルダを作成します。それからrobocopyコマンドを使用して、ソースフォルダが "new folder"で、宛先フォルダが "D:\ Administrator"であることを/ MIRパラメータと共に指定します。これは、ソースフォルダにないものはすべて削除されることを意味します。

robocopy "D:\new folder" D:\Administrator /MIR

この場合、フォルダパスは非常に長いため、プロンプトウィンドウの画面バッファには収まりませんでしたが、Robocopyは構造をたどって "余分な"ファイルやフォルダを削除します(つまり、新しい空のフォルダにはないすべてのもの)。 ).

57
Sean

Windows Vista +をお使いの場合は、PowerShellで次の操作を実行できます。

rm C:\path\to\delete -r -f[orce]
10

私にとって、うまくいくのは

del /s dir

確認を無効にするために/qを追加できます。私はrmdirを動かすことができなかった(XP上)

5

(Javaプログラムのエラーのために私がしたように)本当に長いパスを持っているのなら、robocopyでもできません。それは私の進路に約30秒間降りて、それからハングしました。

私の解決策:問題のあるパス全体をあるフォルダーから別のフォルダーに移動できれば、いくつかのディレクトリーの階段を繰り返し再帰的に切り取ることができます。

このバッチは、2つのディレクトリleerとleer2の間でピンポンを再生し、毎回8つの「ライブラリ」を切り取ります。パスにファイルが含まれている場合は、それらを消去するためのコマンドをさらに追加する必要があります。

recurdel.cmd
:loop
move c:\leer\libraries\libraries\libraries\libraries\libraries\libraries\libraries\libraries c:\leer2
rd /S /Q c:\leer\libraries
move c:\leer2\libraries\libraries\libraries\libraries\libraries\libraries\libraries\libraries c:\leer
rd /S /Q c:\leer2\libraries
GOTO loop
2
Paulmann

CMDからRD/s C:\ path\to\deleteを実行します。プロンプトのYキーを押します。

/ sを指定すると、すべてのサブディレクトリも削除されます。

コマンドラインからhelp RDを実行する

2
Rachit Ranjan

これはプロンプトなしで "私のフォルダ"を削除します。

rd /s /q "C:\Users\gourav.g\AppData\Roaming\my folder"
0
JerryGoyal