Change Windows 7 file permissions from command prompt
How can I change Windows 7 file permissions using the command prompt?
I want to change permissions in program files, but cacls
is not working for me.
cacls
is depcriated in Windows 7. You need to use ICACLS
instead of cacls
.
ICACLS "filename" /grant "Users":F
This command is granting the privileges.
To change permissions, use an administrator account on that machine to run CACLS
. If you have UAC enabled, you may have to elevate the command prompt first by right-clicking on it and choosing "Run as Administrator".
You can use cacls
as follows:
CACLS files /e /p {USERNAME}:{PERMISSION}
Where,
* /p : Set new permission
* /e : Edit permission and kept old permission as it is i.e. edit ACL instead of replacing it.
* {USERNAME} : Name of user
* {PERMISSION} : Permission can be:
o R - Read
o W - Write
o C - Change (write)
o F - Full control
For example, to grant your user account full (F) control to files
, you would use the following command (typed in an elevated Windows command prompt):
CACLS files /e /p %USERNAME%:f
Read complete help by typing following command:
cacls /?
If, for any reason, files have become disassociated with the administrator account in Windows 7, using ICACLS will NOT restore them.
You are forced to manually click EACH file, one at a time, and select Properties > Security tab > Advanced button > Permissions tab > Continue button.
If enabled, approve UAC prompt for Permissions Editor for Files and Folders and Uncheck Include inheritible permissions from thsi object's parent. Click the Remove button when prompted, then re-enable Include inheritible permissions, click OK.
This will restore your accesss to the file.
How can this be accomplished against an entire folder or set of files? Using ICACLS *.* /RESET
does not work; it ends in error "Access is denied" for the files in question.