# FileGetAttrib

报告文件或文件夹是否为只读, 隐藏等.

    FileGetAttrib, OutputVar , Filename

## 参数

OutputVar

  用来存储获取的文本的变量名.

Filename

  目标文件名, 如果未指定绝对路径, 则假定在 %A_WorkingDir% 中. 如果省略, 则使用最内层文件循环的当前文件. 与 FileExist() 不同, 这必须是一个真正的文件名, 而不是一个模式.

## 错误处理

[v1.1.04+]: 此命令失败时会抛出异常. 想了解更多信息, 请参阅运行时错误.

如果遇到问题则 ErrorLevel 被置为 1, 否则为 0.

A_LastError 被设置为操作系统 GetLastError() 函数返回的结果.

## 备注

返回的字符串为字符串 "RASHNDOCT" 中部分字母组成的子集:

- R = 只读
- A = 存档
- S = 系统
- H = 隐藏
- N = 普通
- D = 目录
- O = 离线
- C = 压缩
- T = 临时
- X = 无属性

要判断在获取的字符串中是否含有指定的属性, 请参照此例:

    FileGetAttrib, Attributes, C:\My File.txt
    if InStr(Attributes, "H")
        MsgBox The file is hidden.

相关提示, 要获取 8.3 格式的短文件名, 请参照此例:

    Loop, C:\My Documents\Address List.txt
        ShortPathName := A_LoopFileShortPath  ; 将产生类似于 C:\MYDOCU~1\ADDRES~1.txt 的路径

用类似的方法可以获取与 8.3 短名称对应的长名称.

## 相关

FileExist(), FileSetAttrib, FileGetTime, FileSetTime, FileGetSize, FileGetVersion, 文件循环

## 示例

存储一个目录的属性字母到 OutputVar 中. 注意, 现有的目录总是有属性字母 D.

    FileGetAttrib, OutputVar, C:\New Folder

dftg