ATTRIB.exe

Display or change file attributes. Find Filenames.

Syntax
      ATTRIB [ + attribute | - attribute ] [pathname] [/S [/D]]

Key
     +    : Turn an attribute ON
     -    : Clear an attribute OFF

 pathname : Drive and/or filename e.g. C:\*.txt
    /S    : Search the pathname including all subfolders.
    /D    : Process folders as well

   attributes: 
        R  Read-only (1)
        A  Archive (32)
        S  System (4)
        H  Hidden (2)

   extended attributes:
        E  Encrypted
C Compressed (128:read-only)
I Not content-indexed
L Symbolic link/Junction (64:read-only)
N Normal (0: cannot be used for file selection)
O Offline
P Sparse file
T Temporary X No scrub file attribute (Windows 8+) V Integrity attribute (Windows 8+)

The numeric values can be used when changing attributes with VBS/WSH
If no attribute is specified attrib will return the current attribute settings. Used with just the /S option ATTRIB will quickly search for a particular filename.

Hidden and System attributes take priority.

If a file has both the Hidden and System attributes set, you can clear both attributes only with a single ATTRIB command.

For example, to clear the Hidden and System attributes for the RECORD.TXT file, type:
ATTRIB -S -H RECORD.TXT

if a file has the System or Hidden attribute set, you must clear that attribute before you can change any other attributes.

Wildcards

You can use wildcards (? and *) with the pathname parameter to display or change the attributes for a group of files.

Directory Attributes

You can display or change some attributes for a directory/folder.

The Read-only attribute (R) does not apply to a folder. This is because a unlike a file, a folder object does not contain any content that can be edited. The Name of a folder can be changed but that is a rename operation not an edit of the contents.

On Windows Vista and greater, the Read-only attribute of a folder can be set or cleared in Windows Explorer as a fast method of setting/clearing the Read-only attribute of all files within the folder. It does not actually set the attribute on the folder itself.

To use ATTRIB with a directory, you must explicitly specify the directory name; you cannot use wildcards to work with directories.

e.g. The following command would affect only files, not directories: ATTRIB +H C:*.*

To hide the directory C:\SECRET, type the following:

ATTRIB +H C:\SECRET

The System attribute is used by Windows to determine that a folder is a special folder, such as My Documents, Favorites, Fonts, etc.

View Archive attribute

The Archive attribute (A) is used to mark files that have changed since they were previously backed up.
The (A) flag is automatically updated by Windows as the file is saved.
If the (A) flag is present - the file is new or has been changed since the last backup.

The MSBACKUP, RESTORE, and XCOPY commands use these Archive attributes, as do most 3rd party backup solutions.

Extended Attributes

File attributes can be read with fsutil usn readdata filename.ext

Constants - the following attribute values are returned by the GetFileAttributes function:

FILE_ATTRIBUTE_READONLY = 1 (0x1)
FILE_ATTRIBUTE_HIDDEN = 2 (0x2)
FILE_ATTRIBUTE_SYSTEM = 4 (0x4)
FILE_ATTRIBUTE_DIRECTORY = 16 (0x10)
FILE_ATTRIBUTE_ARCHIVE = 32 (0x20)
FILE_ATTRIBUTE_NORMAL = 128 (0x80)
FILE_ATTRIBUTE_TEMPORARY = 256 (0x100)
FILE_ATTRIBUTE_SPARSE_FILE = 512 (0x200)
FILE_ATTRIBUTE_REPARSE_POINT = 1024 (0x400)
FILE_ATTRIBUTE_COMPRESSED = 2048 (0x800)
FILE_ATTRIBUTE_OFFLINE = 4096 (0x1000)
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 8192 (0x2000)
FILE_ATTRIBUTE_ENCRYPTED = 16384 (0x4000)

For example, a file attribute of 0x120 indicates the Temporary + Archive attributes are set (0x100 + 0x20 = 0x120.)

An alternative way to display extended attributes is using FOR parameter attributes

DFSR will not replicate files if they have the temporary attribute set.
The temporary attribute can be removed by using PowerShell to subtract 0x100:

PS C:\> Get-childitem D:\Data -recurse | ForEach-Object -process {if (($_.attributes -band 0x100) -eq 0x100) {$_.attributes = ($_.attributes -band 0xFEFF)}}

"The moral sense of conscience is by far the most important.. it is the most noble of all the attributes of man" - Charles Darwin

Related:

CACLS - Change file permissions
FSUTIL - File and Volume utilities
Show superhidden file extensions
Q326549 - Read-only & System attributes for folders
Equivalent bash command (Linux): chmod - Change access permissions


Copyright © SS64.com 1999-2017
Some rights reserved