Many of you would have come across situations where you can’t delete a file or folder no matter how you try. This article discusses the ways to delete files or folders that are stubborn or undeletable using normal methods.
There could be atleast 4 reasons why you’re unable to remove those stubborn files or folders.
- The file or folder is currently in use by some program
- Can’t delete files or folders having invalid character in their names
- You don’t have the required NTFS permissions
- File system corruption
How to Delete a Stubborn Undeletable File or Folder in Windows
There is umpteen number of software programs that help you release the lock on a file/folder by some application. Utilities like Unlocker and Process Explorer will help you forcibly close the file or folder handle and then delete the file or folder.
Before resorting to using those programs, first see if you can delete the stubborn file after logging off and logging in again, or after a restart cycle. It helps in most cases. Even better, start Windows in Safe mode and delete the stubborn file or folder. See how to Start your PC in safe mode in Windows 10.
If you want to delete the file or folder without having to restart Windows, you can use tools like Process Explorer or Unlocker. These tools help you find the program/executable is causing the problem, release the lock and delete the file.
Related Tip: You can also use the built-in Resource Monitor to view the offending program, but Resource Monitor can’t be used to close the file handle. For more information, see post Find Which Process Has Locked a File Without 3rd Party Tools.
File Explorer may sometimes have a lock on media files hooked up by its shell extensions generally. If that’s the case, cleanly exiting the Explorer shell will help. Here is how to cleanly terminate and restart the Explorer shell in Windows 7 through 10.
Note that in Windows 7 and above, the Windows “File in use” dialog will show you the name of the program using the file. All you need to do is first close the program.
However, the program name may not be displayed in some cases and that’s why we need tools like Unlocker, Process Explorer or Resource Monitor.
IObit Unlocker setup adds a context menu extension for files and folders. When you right-click on a file or folder and click IObit Unlocker, it shows which program is using the target file or folder.
Unlocker also offers you these options which are self-explanatory even for end-users:
- Unlock & Delete
- Unlock & Rename
- Unlock & Move
- Unlock & Copy
- Forced mode
You can try “Forced mode” if unlock fails in normal mode. It’s an aggressive mode wherein it terminates the related processes rather than just closing the file/folder handle.
Sample scenario: Can’t empty Windows.Old using Disk Cleanup or Storage Settings as the files in Cortana “LocalState” folder remains undeletable
IOBit Unlocker is especially helpful when you’re unable to clear out the
Windows.old folder (which stores the previous Windows installation files) after installing a latest Feature Update. Windows.old may sometimes be undeletable due to a problem (invalid characters in the file name) with files under the
Microsoft.Windows.Cortana_cw5n1h2txyewy folder under
C:\Windows.old. The complete path for the problematic folder is below:
As you can see the folder
LocalState has a couple of dots (..) after its name, which could be preventing the folder from being deleted or accessed. Attempts to delete the folder results in the following error:
An unexpected error is keeping you from deleting the folder. If you continue to receive this error, you can use the error code to search for help with this problem.
Error 0x80004005: Unspecified error
with options to
Cancel the operation.
Location is not available
C:\Windows.old\Users..\AppData\Local\packages\Microsoft.Windows.Cortana_cw5n1h2txyewy\LocalState is unavailable. If the location is on this PC, make sure the device or drive is connected or the disc is inserted, and then try again. If the location is on a network, make sure you’re connected to the network or Internet, and then try again. If the location still can’t be found, it might have been moved or deleted.
Easy fix: In IOBit Unlocker, choose the option Unlock & Delete after selecting the
Cortana folder (or the entire
Windows.old folder). This will help you completely wipe out Windows.old folder easily.
If you want to wipe of those invalid files and folders manually, see examples and screenshots below:
You may not be able to delete a file if the file name includes an invalid name (for example, the file name has a trailing space or a trailing period or the file name is made up of a space only). To resolve this issue, use a tool that uses the appropriate internal syntax to delete the file. You can use the “\\?\” syntax with some tools to operate on these files, for example: — excerpt from Microsoft KB You cannot delete a file or a folder on an NTFS file system volume
del “\\?\c:\path_to_file_that contains a trailing space.txt “
EXAMPLE: Deleting folders with reserved names or having invalid characters (such as dot and spaces) in the name.
To delete the
LocalState.. folder under the Cortana Package folder, here is the path and command-line you use:
rd /s \\?\C:\Windows.old\Users\%username%\AppData\Local\Packages\Microsoft.Windows.Cortana_cw5n1h2txyewy\LocalState..\
Run that command from an administrator Command Prompt.
Let’s say we have some invalid folders namely
(Note that the word
con is a reserved name, and shouldn’t be used in file or folder names.)
Attempting to normally access the folder with a reserved name (e.g.,
con) causes the following error:
path:\con is not accessible.
The handle is invalid.
To delete the folder, we’ll now run the following command from administrator Command Prompt:
rd /s "\\?\C:\con"
The other two folders namely
LocalState.. have invalid characters (.) in the file name. Let’s run the following commands to delete those folders:
rd /s "\\?\C:\conduct." rd /s "\\?\C:\LocalState.."
Voila! The three folders are now removed.
For more information on dealing with files containing reserved or invalid characters, see Microsoft article You cannot delete a file or a folder on an NTFS file system volume.
Process Explorer is an excellent tool that needs no introduction. We’ve covered Process Explorer many times in the past.
Launch Process Explorer as administrator. Use the Find option (Ctrl + F), type in the part of the file name and press ENTER
You’ll see the process which is using that file. All you need to do is close the program manually, and then delete the stubborn file.
Also, Process Explorer lets you close the file handle via the lower pane view. However, exiting the program is the most preferred way.
movefile.exe [source] [dest]
Specifying an empty destination (“”) deletes the source at boot. An example that deletes
movefile d:\tools\stubborn.pdf ""
The MoveFile utility works not just for files, but for folders as well!
To delete (on reboot) a folder named “1” located on my desktop, I used this command:
movefile C:\Users\ramesh\desktop\1 ""
The job was perfectly completed after a restart! The MoveFile utility uses MoveFileEx API to rename or delete a file. It registers the delete or rename operation in a
MULTI_STRING registry value named
PendingFileRenameOperations, under the following branch:
During next restart, the Session Manager performs the delete or rename task by reading the registered rename and delete commands from the
PendingFileRenameOperations registry value. As you can see in the above screenshot, Windows Defender seems to have scheduled a delete operation (to get rid of a superseded driver file) after a signature update.
Download MoveFile from Windows Sysinternals.
If your user account control lacks the permissions to modify a file or folder, you’ll see the “permission denied” dialog when attempting to delete it. All you need to do is take ownership of the file or folder, assign your account full control permissions before deleting the file. You can take ownership of files/folders and assign permissions via Properties, Security tab. But some users prefer the command-line method involving
For detailed information, see our illustrative article how to take ownership of the file(s) and folder(s) (using
Takeown.exe, even recursively across sub-folders). It also describes how to assign permissions using
Once done you should be good to go!
Related Tip: For easier access, you can even add “Take Ownership & Assign Full permissions” option to the right-click menu, especially if you’re going to use the option more frequently. This registry tweak does the
ICacls.exe operations in one go. No need to type those commands manually!
File system corruption causes errors such as “The File or Directory is Corrupted and Unreadable” when accessing or deleting a file or folder. Running disk Error Checking or
Chkdsk command ought to fix the problem.
Open This PC (my Computer), right-click on the drive which contains the stubborn file, and click Properties. Select the Tools menu, and click “Check”.
Clicking the Show Details link opens the relevant Event Viewer entry in the Application Log. It tells you what the problem is.
Then proceed to repair the drive now, or on next restart as you so prefer.
Alternately, you can run
Chkdsk <driveletter:> /R from an elevated Command Prompt. It asks for your consent to dismount the drive and run a scan. If you choose “
N” (No), it’ll prompt for scheduling a scan at next reboot. Click
Y to continue.
After fixing the file system errors using disk Error checking or Chkdsk, see if you can delete the stubborn file or folder.
That’s it! If you know any other interesting methods to delete files which are otherwise “undeletable”, post it in the Comments section below.
One small request: If you liked this post, please share this?One "tiny" share from you would seriously help a lot with the growth of this blog. Some great suggestions:
- Pin it!
- Share it to your favorite blog + Facebook, Reddit
- Tweet it!
About the author
Ramesh Srinivasan founded Winhelponline.com back in 2005. He is passionate about Microsoft technologies and he has been a Microsoft Most Valuable Professional (MVP) for 10 consecutive years from 2003 to 2012.