# How to recursively delete directory from command line in windows?

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

-

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

-
hmm . . . doesn't work for me. – Eric Wilson Aug 23 '10 at 19:32
@FarmBoy, apologies, it would seem my memories go far too far back. I've updated the answer for Windows XP and newer. – Colin Pickard Aug 23 '10 at 19:36
yes deltree is an old DOS command. It was removed in XP and replaced by rmdir /s – heavyd Aug 23 '10 at 19:39
What does the /s flag stand for? – Mike R Mar 23 at 15:45
@MikeR, it might stand for "subdirectories" or something. findstr has the same parameter, which makes more sense it its case, so maybe they're just the same for consistency. – Sam May 6 at 23:58

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).

-
This is the only solution that will work when your path is more than 250 odd chars long – Calm Storm Feb 12 '13 at 16:24

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

-

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)

-
You should probably stop using XP, it isn't supported anymore ... – Eric Wilson May 17 '14 at 17:20

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

rm C:\path\to\delete -r -f

-
Windows 10 says -f is ambiguous. But you can run rm -r -force <path> – BrunoLM Nov 6 at 19:21

Install Win Rar , if not already installed on your computer, right click the directory select add to archive and in the general options select delete files after archiving. This will make a zipped folder, now delete that zipped folder

-
There are more simple ways to delete recursively directories which don't require any additional software, like deleting the directory using the build in Windows Explorer. – zagrimsan Sep 11 at 5:38
This does not provide an answer to the question. To critique or request clarification from an author, leave a comment below their post - you can always comment on your own posts, and once you have sufficient reputation you will be able to comment on any post. – JakeGould Sep 17 at 16:35

You can use ROBOCOPY. It is very simple and can also be used to delete empty folders inside large hierarchy.

ROBOCOPY folder1 folder1 /S /MOVE


Here both source and destination are folder1, as you only need to delete empty folders, instead of moving other files to different folder. /S option is to skip copying(moving, in the above case) empty folders. It is also faster as the files are moved inside the same drive.

-
But this would not delete non-empty folders? I think the question is about deleting all, both empty and non-empty. – Arjan Sep 13 at 11:19