The ATTRIB command in Windows CMD is used to display or change file and directory attributes. The primary purpose of the command is to modify settings that control aspects of file behavior, such as read-only status, hidden visibility, and archival state. This command is especially useful for managing file characteristics in batch scripts or when performing system maintenance and file management tasks.


The general syntax for the ATTRIB command is as follows:

ATTRIB [+attribute | -attribute] [pathname] [/S [/D]]
  • +attribute: Adds an attribute to a file or directory.
  • -attribute: Removes an attribute from a file or directory.
  • pathname: Specifies the file or directory. Wildcards (e.g., * and ?) can be used.
  • /S: Applies the command to files in the specified directory and all subdirectories.
  • /D: Includes any process folders.


  • +R: Sets the read-only file attribute.
  • -R: Clears the read-only file attribute.
  • +H: Sets the hidden file attribute.
  • -H: Clears the hidden file attribute.
  • +S: Sets the system file attribute.
  • -S: Clears the system file attribute.
  • +A: Sets the archive file attribute.
  • -A: Clears the archive file attribute.
  • /S: Executes the command for all files in any directory and its subdirectories.
  • /D: Also processes directories when used with /S.


  1. Set a File as Hidden:

    ATTRIB +H secretfile.txt

    This command hides the file secretfile.txt.

  2. Remove Hidden Attribute from All Files in a Directory:

    ATTRIB -H *.* /S /D

    Removes the hidden attribute from all files within the current directory and its subdirectories, including the directories themselves.

  3. Set Read-Only Attribute on All Excel Files in a Directory:

    ATTRIB +R *.xlsx /S

    This command marks all .xlsx files in the directory and subdirectories as read-only.

Common Issues

  • Access Denied: Users might encounter this error if they attempt to modify attributes of system files or directories without sufficient permissions. Running the command prompt as an administrator may resolve this issue.
  • File Not Found: This can occur if the pathname is incorrect or if wildcards do not match any files. Check the path and filename to ensure accuracy.


ATTRIB can be effectively integrated with other CMD commands for powerful scripts. For example, combining ATTRIB with FOR allows for iterative processing:

FOR /R %G IN (*.docx) DO ATTRIB +A "%G"

This script sets the archive attribute on all .docx files in the current directory and all subdirectories.

  • DIR: Used to display files and folders with their attributes. Helpful in viewing changes made with ATTRIB.
  • ICACLS: Used for more advanced permission and attribute management.
  • XCOPY: Often used with ATTRIB to copy files based on their attributes.

Further reading on file management and attributes can be found in the official Microsoft documentation.