# FileSetAttrib

改变一个或多个文件或文件夹的属性. 支持通配符.

    FileSetAttrib Attributes , FilePattern, Mode

## 参数

Attributes

  类型: 字符串

  要改变的属性. 例如, `+HA-R`.

  要方便地打开, 关闭或切换属性, 请分别在以下一个或多个属性字母前加上加号(+), 减号(-) 或脱字符(^):

  - R = 只读
  - A = 存档
  - S = 系统
  - H = 隐藏
  - N = 普通(仅在单独使用此属性时才有效)
  - O = 离线
  - T = 临时

  注意: 当前, 此函数无法改变文件的压缩状态.

FilePattern

  类型: 字符串

  单个文件或文件夹的名称, 或通配符模式, 如 `"C:\Temp\*.tmp"`. 如果未指定绝对路径, 则假定 FilePattern 在 A_WorkingDir 中.

  如果省略, 则使用最内层文件循环的当前文件.

Mode

  类型: 字符串

  如果为空或省略, 则默认仅对文件进行操作, 子目录不被递归. 否则, 请指定零个或更多的下列字母:

  - D = 包含目录(文件夹).
  - F = 包含文件. 如果同时省略 F 和 D, 则仅包含文件而不包括目录.
  - R = 子文件夹被递归到其中, 这样包含在其中的文件和文件夹如果匹配 FilePattern, 则对它们进行操作. 所有子文件夹都将被递归到其中, 而不仅仅是那些名称匹配 FilePattern 的子文件夹. 如果省略 R, 则不包含子目录中的文件和目录.

## 错误处理

如果有文件更改失败, 则抛出 Error, 并且它的 Extra 属性设置为失败次数.

如果找到了文件, 则 A_LastError 会被设置为 0, 或上次失败后立即获得操作系统的 GetLastError() 函数的结果. 否则 A_LastError 包含了没有找到文件原因的错误码.

## 相关

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

## 示例

打开所有文件和目录的 "只读" 和 "隐藏" 属性(子目录不会被递归到).

    FileSetAttrib "+RH", "C:\MyFiles\*.*", "DF"  ; +RH 等同于 +R+H

切换单个文件夹的 "隐藏" 属性.

    FileSetAttrib "^H", "C:\MyFiles"

关闭单个文件的 "只读" 属性并打开 "存档" 属性.

    FileSetAttrib "-R+A", "C:\New Text File.txt"

递归 C 驱动器上的所有 .ini 文件并打开它们的 "存档" 属性.

    FileSetAttrib "+A", "C:\*.ini", "R"

dftg