Windows creates the folder Windows.old on a PC running Windows when you upgrade the PC to a new version of the operating system.
The Windows.old folder contains files and folders of the old installation of Windows, and the main reason it is there is that it is used to restore the old system if the user wants to go back to it.
This folder may take up a sizeable amount of space, but will get deleted automatically usually by Windows after a set period of time.
Windows users may also use the disk cleanup tool to remove the folder as described here. Sometimes however it happens that the folder and its content is not removed, and that a manual removal does not work either.
When you try to delete the folder manually in Explorer, you get permission errors as the folder is associated with SYSTEM and not a user or administrator account.
What happens usually is that you get a permission request first to run the operation with administrative privileges, and then the Folder Access Denied error.
Remove the Windows.old folder manually
You need to run the following commands remove the Windows.old folder manually.
- Open an elevated command prompt. EAsiest way to do so is to tap on Windows, type cmd.exe, hold down the Shift-key and the Ctrl-key, and launch the elevated command prompt with a tap on the Enter-key.
- takeown /F c:Windows.old* /R /A /D Y
- cacls c:Windows.old*.* /T /grant administrators:F
- rmdir /S /Q c:Windows.old
Lets take a closer look at the commands to better understand what they do:
takeown /f c:Windows.old* /r /a /d y
Takeown can be used to make the administrators group the owner of a file or directory.
- /f c:Windows.old* — This specifies the location and files that the operation will be run on.
- -r — performs a recursive operation on all files (means all files are included that are in the Windows.old folder).
- -a — gives ownership to the Administrators group.
- -d Y — surpresses the confirmation prompt when the current user does not have the “List Folder” permission.
cacls c:Windows.old*.* /t /grant administrators:f
This command displays or modifies DACL (discretionary access control list) files.
- c:Windows.old*.* — The files you want the operation to run on.
- /t — This changes the DACL of the files in the selected directory and all subdirectories.
- /grant administrators:f — This grants full access rights to the administrators group (The F stands for full)
rmdir /s /q c:Windows.old
The command removes a directory.
- /s — this parameter makes the command remove the directory that is specified, and all of its subdirectories and files.
- /q — runs the program in quiet mode without confirmation prompts.
- c:Windows.old — specifies the directory the operation should be run on.