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:
for /r %R in (.svn) do if exist %R (rd /s /q "%R")
Please execute the following steps:
- Open the command prompt
- Change directory to the required path
Give the following command
del /S *.svn
The other answers didn't work for me, but this did:
del /s /q *.svn
rmdir /s /q *.svn
/q disables Yes/No prompting
/s means delete the file(s) from all subdirectories.
You can use this in the bat
script:
rd /s /q "c:\folder a"
Now, just change c:\folder a
to your folder's location. Quotation is only needed when your folder name contains spaces.
RMDIR path_to_folder /S
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:
del /s /q "\\ad1pfrtg001\AppDev\ResultLogs\*.pdf"
del /s /q "\\ad1pfrtg001\Project\AppData\*.pdf"
Even for the local directory we can use it as:
del /s /q "C:\Project\*.pdf"
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:
For /R "C:\Users\Desktop\saleh" %G IN (*.ppt) do del "%G"
You could also do:
del /s /p *.{your extension here}
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:
get-childitem [your path/ or leave empty for current path] -include
*.tmp -recurse | foreach ($_) {remove-item $_.fullname}
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
forfiles /p %SYSTEMROOT%\system32\LogFiles /s /m *.* /d -1 /c "cmd /c del @file"
Delete windows TMP files recursively
forfiles /p %SYSTEMROOT%\Temp /s /m *.* /d -1 /c "cmd /c del @file"
Delete user TEMP files and folders recursively
forfiles /p %TMP% /s /m *.* /d -1 /c "cmd /c del @file"
For hidden files I had to use the following:
DEL /S /Q /A:H Thumbs.db
To delete a folder with a given name along with content from the current location:
ls -Recurse <dirname> | del -Force -Recurse -WhatIf
or shorter:
ls -r <dirname> | del -Force -r -what
and omit the final -WhatIf to do the actual delete.
来源:https://stackoverflow.com/questions/12748786/delete-files-or-folder-recursively-on-windows-cmd