- Rmdir : Delete directory from command line
- Delete folder from CMD
- How to delete a non empty folder
- Force delete a folder without confirmation
- Deleting directory with white spaces in the name
- Delete contents of a directory but keep the directory
- Errors
- Delete contents of a directory recursively on Windows
- 2 Answers 2
- Delete files or folder recursively on Windows CMD
- 12 Answers 12
- Use the Windows rmdir command
- “rm -rf” equivalent for Windows?
- 21 Answers 21
Rmdir : Delete directory from command line
Do you want to delete a directory from Windows command prompt(CMD)? This post explains how to use the command rmdir to delete folders and their contents. You can also find examples for each use case of folder deletion – empty folders, non empty folders, folders with white spaced names etc.
Delete folder from CMD
Run the command rmdir on the folder.
How to delete a non empty folder
The simple rmdir does not work for folders having some content.
Use /s option to delete the folder contents along with the folder. This deletes all subfolders recursively.
Force delete a folder without confirmation
To force delete directory, without being asked for confirmation, we can use /Q switch.
We can also use ‘rd’ in place of ‘rmdir‘. Both names refer to the same command. This command works on Windows 2000, Windows XP, Server 2003, Vista, Windows 7 and 10.
Deleting directory with white spaces in the name
Rmdir can delete files with whitespaces in the name, you just need to wrap up the folder name in double quotes as shown in the below example.
Delete contents of a directory but keep the directory
The usecase here is to delete all the contents of the directory but keep the parent directory so that we do not need to create it again. rmdir /Q /S does not work here as it deletes the parent directory too. Rather the below commands should do the trick.
This works in 2 steps – the first command deletes all files, whereas the second one deletes all subdirectories.
Errors
To delete a directory, you should have appropriate access permissions on the directory. Otherwise rmdir throws ‘Access denied’ error.
Thanks dude..I was looking for command line way of deleting nonempty folders.. cheers.
Good old DOS….something tells me one day the world will be saved by a DOS operation. ; )
cannot delete… access is denied. am trying to delete a directory on a flash drive. cannot access permissions because explorer isn’t working. using win7
Note:
Don’t forget to leave a “space” in the command line..
rmdir /Q /S_“folder with spaces in the name” I meant “space”, ait’t “underscore”. And upper case of “S”. Good luck!
Hi
can you show me an example of command to delete this path in bat file.
C:\Program Files\Microsoft Office Communicator
am not able to do this . some error s
Is this in Windows 7/Vista?.
If so then you need to take ownership of the files. You can do that with below command from elevated administrator command prompt.
takeown /F «c:\Program Files\Microsoft Office Communicator» /R /A
then run the below command to delete this folder.
rmdir /S «c:\Program Files\Microsoft Office Communicator»
cd program files\microsoft office communicator
then enter press
rd /s “filename”
Then enter
I am getting the following error “The process cannot access the file because it is being us
ed by another process.” what should be the case now?
You should not have the Dir you want to delete open… Close it and then try the command again
Could you kindly post the command for deleting my folder which is at Drive G. Name of the folder is Recycler. Thanks
Thank you so much. I was trying to delete an entire directory of files, about 200k folders and files, and it kept throwing a warning “this folder is shared with other people”. No such warning with this command!
i followed your instructions but i’m getting error to delete a folder in cmd. ERROR = The system cannot find the the specified…
You should make “C:” your default Directory, tot do this type “cd.. && cd..” The type the command again but leave the “C:\” and just type the rest of the code.
It should look like this: C:>rmdir /Q /S Users\Owner\Songs\New
i have installed new win 8 n a back up of old win 8 is in c drive with a name windows old n its not being deleted by ANY means . i have tried this one as well but it says on all files access is denied
I tried the process many times but it says “access is denied”….
My entire path is “C:\program files\alwil software\avast5” . How should i delete this avast5 folder with all the folders inside it.
run cmd.exe as administrator
make sure avast service is not running
Every time I try it says the file cant be found
you’re really awesome. Googled a 1000 times just for this line
“C:\>rmdir /S nonemptydir
nonemptydir, Are you sure (Y/N)? y”
Thank you so much for your help. This changed my life.
Thank you so much for your help. This changed my life.
please attache more basic command for beginner person for my email
tnx
I need to do that, help me out
D:\abc\ has files and folders in it
but by using rd or rmdir
rmdir d:\abc\ /s /q will delete abc folder also but i don’t want this.
the asterisk stands for ‘anything’ in or below the named directory.
I want to delete subfolders of a folder older than 10 days.I am able to delete files but not folder
I wanted to know the bat file programm for deleting the contents (sub folders) of a folder on certain conditions. can anyone help.?
How to delete folders created programatically with timestamp attached at the end.
Like we do for files :
DEL comp*
Is there any command for folders:
RM com*
or
RMDIR com*
I’m wanting to delete the directory c:\windows.old I followed the instructions above I run CMD as admin, I typed in: takeown /F c:\windows.old /R /A And hit enter key. It did this part properly but Then I typed in: rmdir /Q /S c:\windows.old And after every entry it said Access denied. what is the command line/s i need to type to atlas delete the directory c:\windows.old ? (using windows 10)
I got the same problem…….
please someone help.
thank you .
i m so glad
I followed the instructions above I run CMD as admin, I typed in: takeown /F c:\windows.old /R /A And hit enter key. It did this part properly but Then I typed in: rmdir /Q /S c:\windows.old And after every entry it said Access denied. what is the command line/s i need to type to atlas delete the directory c:\windows.old ? (using windows 10.
Please somebody help………………………
takeown /f D:\OrganizationalUnit\Everyone /r /d y
icacls D:\OrganizationalUnit\Everyone /grant administrators:F /T
attrib -s -h -r D:\OrganizationalUnit\EVERYONE /s /d
forfiles /P D:\OrganizationalUnit\Everyone\ -S -M *.* /D -2 /C “cmd /c del /f /q @PATH”
forfiles /P D:\OrganizationalUnit\Everyone\ /M * /D -2 /C “cmd /c if @isdir==TRUE rmdir /S /Q @file”
Thank you very much! With these commands I could remove all “c:\Windows.old” files and directories.
Hello,
I have four folders and I want to keep two of them along with their contents and delete other two folders. How can I do that?
My Parent folder -> Folder 1 (file1.txt), Folder 2 (file2.txt), Folder 3 (file3.txt), Folder 4 (file4.txt).
Need to delete or remove 2 folders and keep 2 folder with their content.
Need command for this.
Any help will be appreciated.
Super Cool!! Deleted a stubborn non empty directory in no time. Thanks for this guide.
I have several folder: folder1, folder2, folder3
how to delete all “folder” with *
Note: This commands doest’n work:
RM folder*
or
RMDIR folder*
I want to thank you very much for the help on deleting these files. I ended up using the CMD method, but it worked perfectly. Again, thank you.
Thanks. After struggling for months and hunting the web, I was finally able to delete a folder using your advice “Deleting directory with white spaces in the name”
OMG! Thank you! Was trying to delete the remaining empty folders of an old eset nod, but couldn’t. This did the trick (hoping). I’m just wondering if its still in the background somewhere. T.hanks again
in programatically if any changes in the inner files or directory after delete the parent directory doesnot work
eg:
system(“rmdir /s/q \””d:/test/hari\””);——>it works
but after
system(“rmdir /s/q \””d:/test\””);—–>it doesn’t work
Thank you for these still useful tips.
That worked verywell. Thank You
I tried the command, but someone has created the directory repeatedly and now I can not removed the base directory. Help
E:\>rmdir /s /q thur2
thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Th
ur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur
2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\
Thur2\AC_FSQ
1.ZIP – The file name is too long.
thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Th
ur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur
2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\
Thur2\AC_HR1
1.ZIP – The file name is too long.
thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Th
ur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur
2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\
Thur2\AC_HR1
2.ZIP – The file name is too long.
The path thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2
\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\T
hur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thur2\Thu
r2\Thur2\Thur2\Thur2\AC_FSQ
Delete contents of a directory recursively on Windows
I need to delete the entire contents of a directory (nested folders and all) without deleting the directory itself. Recreating the directory after the fact is not an option as it is being locked by the running process and delete of it would fail.
So far I have the following:
It works, but the obvious problem is that I have to update this script every time the set of first-level directories changes.
On UNIX, I would solve this like this:
What is the Windows equivalent?
2 Answers 2
Assuming that you are executing the command from the top-level directory:
If you are executing this from a script, you must use double percent signs:
If you need to delete the files in the top-level directory as well, add this to the script:
I know this is an old question with an old answer, but I’ve found a simpler way to do this and thought of sharing it.
You can step into the target directory and use the rd command. Since Windows will not allow you to delete any files or directories currently in use, and you are making use of the target directory by stepping into it, you’ll delete all the contents, except the target directory itself.
You’ll get a message saying:
The process cannot access the file because it is being used by another process.
This will occur when, after deleting all the contents, the rd command fails to delete the current directory, because you’re standing in it. But you’ll see this is not an actual error if you echo the last exit code, which will be 0 .
It’s what I’m using and it works fine. I hope this helps.
Delete files or folder recursively on Windows CMD
How do I delete files or folders recursively on Windows from the command line?
I have found this solution where path we drive on the command line and run this command.
I have given an example with a .svn file extension folder:
12 Answers 12
The other answers didn’t work for me, but this did:
/q disables Yes/No prompting
/s means delete the file(s) from all subdirectories.
Please execute the following steps:
- Open the command prompt
- Change directory to the required path
Give the following command
You can use this in the bat script:
Now, just change c:\folder a to your folder’s location. Quotation is only needed when your folder name contains spaces.
ex. RMDIR «C:\tmp» /S
Note that you’ll be prompted if you’re really going to delete the «C:\tmp» folder. Combining it with /Q switch will remove the folder silently (ex. RMDIR «C:\tmp» /S /Q )
For file deletion, I wrote following simple batch file which deleted all .pdf’s recursively:
Even for the local directory we can use it as:
The same can be applied for directory deletion where we just need to change del with rmdir.
If you want to delete a specific extension recursively, use this:
You could also do:
The /p will prompt you for each found file, if you’re nervous about deleting something you shouldn’t.
After the blog post How Can I Use Windows PowerShell to Delete All the .TMP Files on a Drive?, you can use something like this to delete all .tmp for example from a folder and all subfolders in PowerShell:
Use the Windows rmdir command
That is, rmdir /S /Q C:\Temp
I’m also using the ones below for some years now, flawlessly.
Check out other options with: forfiles /?
Delete SQM/Telemetry in windows folder recursively
Delete windows TMP files recursively
Delete user TEMP files and folders recursively
“rm -rf” equivalent for Windows?
I need a way to recursively delete a folder and its children.
Is there a prebuilt tool for this, or do I need to write one?
DEL /S doesn’t delete directories.
DELTREE was removed from Windows 2000+
21 Answers 21
RMDIR or RD if you are using the classic Command Prompt (cmd.exe):
RD [/S] [/Q] [drive:]path
/S Removes all directories and files in the specified directory in addition to the directory itself. Used to remove a directory tree.
/Q Quiet mode, do not ask if ok to remove a directory tree with /S
If you are using PowerShell you can use Remove-Item (which is aliased to del , erase , rd , ri , rm and rmdir ) and takes a -Recurse argument that can be shorted to -r
Works for anything including sys files
EDIT: I actually found the best way which also solves file path too long problem as well:
RMDIR [/S] [/Q] [drive:]path
RD [/S] [/Q] [drive:]path
/S Removes all directories and files in the specified directory in addition to the directory itself. Used to remove a directory tree.
/Q Quiet mode, do not ask if ok to remove a directory tree with /S
Go to the path and trigger this command.
/s : Removes the specified directory and all subdirectories including any files. Use /s to remove a tree.
/q : Runs rmdir in quiet mode. Deletes directories without confirmation.
/? : Displays help at the command prompt.
You can install cygwin, which has rm as well as ls etc.
For deleting a directory (whether or not it exists) use the following:
The accepted answer is great, but assuming you have Node installed, you can do this much more precisely with the node library «rimraf», which allows globbing patterns. If you use this a lot (I do), just install it globally.
then, for instance, a pattern I use constantly:
or for a one-liner that let’s you dodge the global install, but which takes slightly longer for the the package dynamic download:
rmdir /S /Q %DIRNAME%
via Command Prompt
Try this command:
rmdir /s dirname
First, let’s review what rm -rf does:
There are three scenarios where rm -rf is commonly used where it is expected to return 0 :
- The specified path does not exist.
- The specified path exists and is a directory.
- The specified path exists and is a file.
I’m going to ignore the whole permissions thing, but nobody uses permissions or tries to deny themselves write access on things in Windows anyways (OK, that’s meant to be a joke…).
First set ERRORLEVEL to 0 and then delete the path only if it exists, using different commands depending on whether or not it is a directory. IF EXIST does not set ERRORLEVEL to 0 if the path does not exist, so setting the ERRORLEVEL to 0 first is necessary to properly detect success in a way that mimics normal rm -rf usage. Guarding the RD with IF EXIST is necessary because RD , unlike rm -f , will throw an error if the target does not exist.
The following script snippet assumes that DELPATH is prequoted. (This is safe when you do something like SET DELPATH=%1 . Try putting ECHO %1 in a .cmd and passing it an argument with spaces in it and see what happens for yourself). After the snippet completes, you can check for failure with IF ERRORLEVEL 1 .
Point is, everything is simpler when the environment just conforms to POSIX. Or if you install a minimal MSYS and just use that.