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