Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I updated my laptop's OS from Windows XP to Windows 7. There are some leftover files from Windows XP on the computer now. If I try deleting them I get the following error:

You need permission to perform this action.

You require permission from S-1-.... to make changes to this folder.

What's weird is that I am logged in with the only user account on this machine and I have administrator privileges. I tried turning UAC off, but I still can't delete the files.

How can I force removal of these files?

share|improve this question
add comment

5 Answers

up vote 48 down vote accepted

It's possible that by upgrading, the old XP user was not converted well to Windows 7 - therefore these files are owned by a phantom user. You can follow the steps below:

  1. Take ownership of the files. Start a Command Prompt (cmd) as an administrator, and enter:

    takeown /f file
    takeown /f directory /r
    
  2. Give yourself full rights on the file:

    cacls file /G username:F
    cacls directory /T /G username:F
    

cacls can be used with wildcards and directory traversal. See also:
Security from the command line with CACLS
CACLS command

For a more evolved Visual Basic script see: Xcacls.vbs to modify NTFS permissions.

share|improve this answer
    
The takeown command results in an error: C:\>takeown /f olddir /r ERROR: The current logged on user does not have ownership privileges on the file (or folder) "C:\olddir". –  lajos Oct 26 '09 at 13:15
3  
Did you launch the command prompt by right-click on cmd.exe and "Run as administrator"? –  harrymc Oct 26 '09 at 14:12
    
Thanks for pointing that out. I did not run as administrator. It's working now! –  lajos Oct 26 '09 at 14:26
    
Few notes: 1. takeown outputs a lot of noise so you can stuck something like "> output" at the end of the command to make it go faster 2. Use /t cacls switch to make go recursively. Otherwise - great tips! –  Evgeniy Dolzhenko Sep 22 '11 at 9:24
1  
I still get "ERROR: Access is denied" even after running cmd as administrator! –  B T Jul 12 '13 at 18:26
show 2 more comments

The command line arguments for taking ownership should be in this order

takeown /f <directory> /r
/f  filename or directory name pattern
/r  recurse

NOTE: cacls is now deprecated, please use icacls

icacls <directory> /grant <user>:f /t
 f  full access
/t  recurse
share|improve this answer
add comment

In my case taking ownership was not enough in Windows 7 for my particular circumstances (my Windows 7 installation was made using Symantec Backup Exec from another machine and the folder was under source control).

I had to perform two further steps:

  1. Right click the folder containing the files you want to delete and select 'Properties' -> 'Security' -> 'Advanced' -> select your user -> 'Change permission' -> Check "Replace all child object permissions with inheritable permissions from this object"

  2. Delete the files in the folders manually from the innermost to the root. Delete the folders once they are empty, i.e. if you have "folder1->folder2" first you delete the contents of folder2, then delete folder2 etc.

If the other solutions are not enough, you can try these further steps.

share|improve this answer
add comment

That S-1-... is a GUID left over from the previous install. Obviously NEWSYSTEM\Administrator isn't part of the OLDSYSTEM\Administrators group.

You need to take ownership of the drive, let the changes propagate, then you should be able to delete the files.

share|improve this answer
add comment

You can use Sticky Keys Method to get SYSTEM user privileges and delete those files.
Also you can do everything with you PC.

share|improve this answer
add comment

protected by studiohack Jul 3 '11 at 0:42

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.