371

What is the windows equivalent of rm -r [directory-name]?

Eric Wilson
  • 7,868
  • 12
  • 41
  • 50

8 Answers8

511

deltree if I remember my DOS.


It seems it's been updated... this is what you want:

RMDIR /S

This removes the directory C:\test, with prompts :

rmdir c:\test /s

This does the same, without prompts :

rmdir c:\test /s /q

Regarding the sudo part of your question, if you need more priviliges, you can first open a new shell as another user account using the runas command, like this:

runas /user:Administrator cmd
rmdir c:\test /s /q
Colin Pickard
  • 8,579
  • 3
  • 31
  • 38
  • For some reason there is a problem if you do this in Powershell. So just use Command Line of Windows. – Devid Mar 31 '15 at 15:00
  • rmdir /? will give you the full details of the command line arguments - S is "Removes all directories and files in the specified directory in addition to the directory itself. Used to remove a directory tree" and the other option is Q which is "Quiet mode, do not ask if ok to remove a directory tree with /S" – Oly Dungey Aug 24 '15 at 10:48
80

If you want to delete a long and complicated folder structure from the command prompt that RmDir won't touch and not even explorer can display, I've found robocopy can be very efficient at removing the structure. In the example below we have a massive structure inside the folder administrator, the structure is so deep that nothing can remove it. We create a new empty folder called (strangely enough!) "new folder". We then use the robocopy command, telling it the source folder is "new folder" and the destination folder is "D:\Administrator" with the /MIR parameter which means it will purge anything not in the source folder.

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

In this case the folder paths were so long they would not even fit in the command prompt window Screen Buffer, but Robocopy will traverse the structure and remove any "extra" files and folders (ie anything not in the new empty folder, which is everything).

Sean
  • 801
  • 6
  • 3
23

You can do the following in PowerShell, if you're on Windows Vista+ :

rm C:\path\to\delete -r -f[orce]
  • 12
    Windows 10 says `-f` is ambiguous. But you can run `rm -r -force ` – BrunoLM Nov 06 '15 at 19:21
  • `rm : The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters` :C – Ruslan López Jun 28 '21 at 14:53
10

For me, what works is

del /s dir

You can add /q to disable confirmation. I've never managed to get rmdir working (on XP)

  • 5
    For me, this removes all files recursively, but is not deleting the directories themselves — `dir`is also not removed. – sergiol Aug 18 '16 at 17:23
  • For me what works is first doing this, then finish it off with the accepted answer (which doesn't work on its own, sometimes). – Katinka Hesselink Feb 15 '21 at 12:42
5

If you have a really really long path, (like I did because of java program error), even robocopy cant do it. It descended for about 30sec into my path and then hung.

My solution: if you can move the whole problem path from one folder to another then you can cut away recursivly and repeatedly some directory stairs from the top.

This Batch plays pingpong between the two directories leer and leer2 and cuts away 8 'libraries' each time. If your path contains files, you have to add further commands to erase them.

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
Eric Wilson
  • 7,868
  • 12
  • 41
  • 50
Paulmann
  • 51
  • 1
  • 1
4

From CMD Just run RD /s C:\path\to\delete

Hit Y to the prompt

/s ensures all the sub directories are deleted as well.

Reference:

  • Run help RD from the command line
Wasif
  • 7,984
  • 2
  • 19
  • 32
3

In powershell:

Remove-Item "Path" -Force -Recurse

In short (nearly rm -rf):

rm  "PATH" -r -fo
Wasif
  • 7,984
  • 2
  • 19
  • 32
2

This will delete "my folder" without prompt:

rd /s /q "C:\Users\gourav.g\AppData\Roaming\my folder"
GorvGoyl
  • 237
  • 1
  • 13