The XCACLS command is a tool for managing file and directory permissions on Windows systems. It allows users to view and modify Access Control Lists (ACLs) on files and directories, making it invaluable for administrators seeking granular security control. This command is most effective in managing permissions in complex file system environments, such as networks and servers where precise control over resource access is necessary.


The basic syntax of the XCACLS command is as follows:

XCACLS filename [options]

Where filename is the name of the file or directory you want to modify or view permissions for.


  • /T : Recursively applies the specified attributes to existing files and directories.
  • /E : Edits an ACL instead of replacing it.
  • /C : Continues to apply ACLs despite encountering errors.
  • /G user:perm : Grants specified user access permissions. perm can be R, W, C, F, or a combination thereof.
  • /R user : Revokes specified user’s access permissions.
  • /P user:perm : Replaces specified user’s access permissions.
  • /D user : Denies access to a specified user.
  • /Y : Suppresses prompts to confirm action details.

These options can be combined to tailor the command for various specific needs.


  • View ACLs for a file:

    XCACLS myfile.txt

    This command will display the ACLs associated with myfile.txt.

  • Grant full access to a user:

    XCACLS myfile.txt /E /G username:F

    This adds full control permission for username without changing other existing permissions.

  • Revoke all permissions from a user:

    XCACLS myfile.txt /E /R username

    This will edit the ACL to remove all permissions for username.

  • Deny write access to a user:

    XCACLS myfile.txt /D username:W

    This command denies write access to username for myfile.txt.

Common Issues

  • Permissions Not Taking Effect: One frequent issue is changes not taking effect due to not running CMD as an administrator. Ensure CMD is opened with administrative privileges.

  • Syntax Errors: Users often mix up /G, /R, /P, and /D options. Be clear about which type of modification you want to make, and double-check your syntax.


XCACLS can be integrated with other commands like FOR for batch processing of multiple files or directories. Here’s an example:

FOR /D %d IN (C:\Users\*) DO XCACLS %d /T /E /G admin:F

This command would recursively grant full access to the user ‘admin’ on all directories within C:\Users.

  • CACLS: A predecessor of XCACLS, often used interchangeably but XCACLS provides enhanced features.
  • ICACLS: A newer, improved command that replaces both XCACLS and CACLS, providing additional capabilities such as setting integrity levels.

For detailed information on the usage and options in XCACLS, the Microsoft Documentation on file and directory permissions will be useful.