FileSetAttrib()

Auto Hotkey

FileSetAttrib

Changes the attributes of one or more files or folders. Wildcards are supported.

FileSetAttrib Attributes , FilePattern, OperateOnFolders?, Recurse?
Command  Example: FileSetAttrib "+N", A_ScriptFullPath
Function Example: FileSetAttrib("+N", A_ScriptFullPath)

Parameters

Attributes

The attributes to change (see Remarks).

FilePattern
The name of a single file or folder, or a wildcard pattern such as C:\Temp\*.tmp. FilePattern is assumed to be in %A_WorkingDir% if an absolute path isn't specified.

If omitted, the current file of the innermost enclosing File-Loop will be used instead.

Mode

Zero or more of the following letters:

D: Include directories (folders).
F: Include files. If both F and D are omitted, files are included but not folders.
R: Subfolders are recursed into so that files and folders contained therein are operated upon if they match FilePattern. All subfolders will be recursed into, not just those whose names match FilePattern. If R is omitted, files and folders in subfolders are not included.

Note: If FilePattern is a single folder rather than a wildcard pattern, it will always be operated upon regardless of this setting.

ErrorLevel

ErrorLevel is set to the number of files that failed to be changed or 0 otherwise.

If files were found, A_LastError is set to 0 (zero) or the result of the operating system's GetLastError() function immediately after the last failure. Otherwise A_LastError contains an error code that might indicate why no files were found.

Remarks

Known limitation: Files and folders with a complete path name longer than 259 characters are skipped over, and may or may not be counted in ErrorLevel. Such files are rare because normally, the operating system does not allow their creation.

The Attributes parameter consists of a collection of operators and attribute letters.

Operators:

+ Turn on the attribute
- Turn off the attribute
^ Toggle the attribute (set it to the opposite value of what it is now)


Attribute letters:
R = READONLY
A = ARCHIVE
S = SYSTEM
H = HIDDEN
N = NORMAL (this is valid only when used without any other attributes)
O = OFFLINE
T = TEMPORARY

Note: Currently, the compression state of files cannot be changed with this command.

Related

FileGetAttrib, FileGetTime, FileSetTime, FileGetSize, FileGetVersion, File-loop

Examples

FileSetAttrib, +RH, C:\MyFiles\*.*, DF  ; +RH is identical to +R+H
FileSetAttrib, ^H, C:\MyFiles  ; Toggle the folder's "hidden" attribute.
FileSetAttrib, -R+A, C:\New Text File.txt
FileSetAttrib, +A, C:\*.ini, R  ; Recurse through all .ini files on the C drive.