Open information exchange
Active forum topics
There are currently 0 users and 6 guests online.
Cannot delete file or folder
This article describes different methods to delete files or folders that cannot be deleted normally.
After trying the following methods, please click here to let us all know your results.
Reboot, then delete.
DEL or RMDIR
Open a command line window (WindowsKey + R, enter: cmd). Move to the folder in question by means of CD commands like CD \ and CD foldername.
Delete the file or folder by using the DEL command to delete files or the RMDIR (remove directory) command to remove directories (folders).
If this, on its own, is still not enough, then leave the command line window on the desktop, open Task Manager (Ctrl + Shift + Esc), and kill all explorer.exe tasks. Your desktop will go blank, except for the windows already open.
Now try to delete the offending file by means of the DEL command, or folder by means of the RMDIR (remove directory) command, in the command line window, as described above.
After that, in the command line window enter:
to restart your desktop. If you closed the command line window, you can still restart explorer by opening the Task Manager by holding down the Ctrl and Shift keys and briefly pressing the Esc key. In Task Manager select Applications, New Task and enter: explorer
If the previous method fails, particularly with multimedia files, log off, then log on again, but do not select the file in Windows Explorer. The safest way is not to open Windows Explorer in the first place.
Then try the previous method again.
An even stronger measure would be to reboot, then try the previous methods again. This would work, for example, if a service has the file open.
Delete containing folder
[Thanks to John Barrington:] If you can't delete a problem file, try deleting the folder that contains the problem file. If this doesn't work, try this next item.
If the problem file and its folder, we'll call (A), is within another folder, we'll call (B), try to delete the folder (B) along with any troublesome contents.
Of course, you want to make sure, if you have any other important files or folders within either folder, that they are saved in another location first.
Use RMDIR on containing folder
Begin like the previous method, but try also
(replace foldernamewith the name of the folder to be deleted). This command should delete a folder with all its subfolders.
If the folder name contains one or more spaces, enclose it in quotes. Example:
Note that the abbreviated command rd can be used in place of rmdir.
Use short name
If the folder name contains strange characters, use a command line window again, but use the DIR /X command to find the short name (for example: PROGRA~1) and use the short name instead. The short name is DOS compatible and has no more than 8 characters for the main name, a period, then no more than 3 characters for the extension.
Retry the previous methods that use a command line window, but use the short name now.
Note: Sometimes an illegal file name can cause Windows Explorer to use nearly 100% of the CPU time.
[Thanks to astk1:] Sometimes the abbreviated name can have a number other than one and can have an extension. If the above does not work, proceed as follows.
Boot into safe mode and try to delete the file or folder there.
If you're trying to delete a program file, like one with the extension .exe, the cause could be that the program is currently running. Stop it, then delete the file.
If the program starts automatically, check the article Autorun causes on how to remove the start command. Do it, reboot, then delete the file.
Rename or move during next boot
If this also doesn't work, there is a way to rename or move a file or folder during the boot process. For this you need to use the registry editor REGEDIT.EXE. See the Registry warning for a general warning.
Create a multi-text value in
named PendingFileRenameOperations of type REG_MULTI_SZ. In pre-XP Windows versions you have to use REGEDT32.EXE to create this value type.
The first line of each pair is the current file or folder path and name with \??\ in front of it.
The second line of each pair is the new file or folder path and name with !\??\ in front of it.
Example for one pair which moves the file mfc42.dll from the temp folder to the system32 folder and overwrites any existing file at the destination:
You can add as many pairs as you like. The move operation is performed directly after the next reboot. You can also give folder paths, so the folder will be renamed. But both paths have to be local.
There is a Windows API call for this, named MoveFileEx, and somebody in Germany has even written a utility named MoveEx for it. You can download it from http://wwwthep.physik.uni-mainz.de/~frink/nt.html. Use it if you need this function often. A Posix utility from a Windows Resource Kit named mv.exe also does it, just in case you still have the resource kit around.
Use another operating system
Boot into another operating system to delete the file from there. The other operating system can be, for example, another installation of Windows, BartPE, Knoppix, Ubuntu, or any operating system that can read the file system used (NTFS or FAT32).
Connect hard disk to other computer
Remove the hard disk from the computer and connect it to another computer. Delete the files or folders there.
Use unlock utility
If you cannot delete a file or folder because it is in use, you can use one of the mostly free utilities, such as Unlocker.
Internet Explorer 8 issues a warning when you open that page, but as far as I can tell (I checked the code of the page at least superficially in March 2010) that is a false alarm.
If the cause is that the path and file name is too long, first try to rename folders in the path with shorter names.
If that doesn't work, you can use the following method, reported 2007-05-17 by Mark Briody:
Open a command line window and use the subst command to create a virtual drive to the folder containing the long file name, e.g. (all in one line):
Then change to the virtual drive x:, and you should be able to delete, rename, and move files and folders.
Finally, to clean up, remove the subst again with:
Deal with hidden or system files
[Thanks to warpcoil, who first described this method in a comment below]
This method deals with files that carry the hidden or system attribute. You can delete such files in Windows Explorer, if you set the folder options such that these files are shown in the first place, but the following method can delete them from a command line window.
Open a command line window and navigate to the offending folder by means of the cd command.
Show all files, using the attrib command. Note the attributes displayed as single letters on the left side of the listing:
Delete the offending files with the commands:
would delete all files whose names begin with abc and which carry the hidden attribute, regardless of the system or read-only attributes.
When it works you get no response, but typing attrib again will show that the file has gone.
aguggis wrote an excellent comment, outlining the following procedure for the common case that you do not have sufficient access rights to delete a folder or file. Thanks!
I was unable to access or delete a folder created by rsync on Windows XP, and none of the solutions proposed here worked. The simple but effective solution [meanwhile slightly enhanced] was the following:
This procedure can be used to delete the System Volume Information folders that Windows creates automatically.
In Windows XP Home Edition there is no "Security" tab, but if you boot your computer into safe mode and log on as Administrator, you will get the "Security" tab. For some more details, please have a look at:
Endlessly recursive folders
A very special case occurs occasionally when a program creates an endlessly recursive folder structure, where new folders are always automatically created until Windows hits the path name length limit. You could also call this an endless folder chain, where each folder contains another one, seemingly ad infinitum, were it not for the path length limit.
The case does not seem to be well-researched, but there is at least one working solution.
The idea is to move the tree, beginning with the second level, to the first level, delete the orphaned original first-level folder, and keep repeating this operating quickly through a batch file, until all folders are gone.
Since you cannot move a folder next to a folder of the same name, you first have to rename the top-level folder to just any other name.
Let us assume that you have a folder structure like this:
Then the following batch file, sitting next to the topmost x folder, will remove all folders. Open a text editor and type in the following:
:loop ren x y move y\x . rd /s /q y goto loop
Do not overlook the dot at the end of the third line and the space to the left of it.
Replace x in the above batch file with the actual name of your repeating folder. Leave y in place.
Save the batch file and give it a suitable name, for example delete.bat .
Put the batch file next to the topmost offending folder and run it like this:
After 30 s interrupt the fast-running batch process by pressing Ctrl + C. It should have endlessly issued folder-not-found error messages after all folders have been deleted. Check whether the folders are all gone.
If not, you may have a very slow computer or a very slow graphics adapter or driver, so the batch file cannot keep up with Windows creating new folders. In that case restart the batch file, then minimize the command line window for 30 s, re-open it and stop the batch file.
If you have a more complicated folder structure like
then you have to change the batch file like this:
:loop ren a y move y\b\c\a . rd /s /q y goto loop
After trying the above methods, please click here to let us all know your results.
New user registration
To get your own account on this web site, please send me an email, explaining in correct English who you are and what you intend to do.
Recent blog posts
Windows news ticker