基 础 函 数 参 考


FileGetAttrib

返回文件的属性代码.

FileGetAttrib ( "文件名" )

参 数

文件名 目标文件(目录)名称.

返 回 值

成功: 返回文件属性代码字符串.
失败: 返回 "" 空字符串, 设置 @error 为 1.

备 注

返回的字符串可能包含 "RASHNDOCT" 字符的组合:
"R" = 只读文件
"A" = 存档文件
"S" = 系统文件
"H" = 隐藏文件
"N" = 普通文件
"D" = 目录文件
"O" = 脱机文件
"C" = 压缩文件 (NTFS 压缩, 并非 ZIP/RAR 压缩)
"T" = 临时文件

相 关 函 数

FileGetTime, FileSetAttrib, FileExists, FileGetSize, FileSetTime

函 数 示 例


Local $attrib = FileGetAttrib(@WindowsDir & "\win.ini")
If @error Then
    MsgBox(4096, "错误", "无法获得文件属性.")
    Exit
Else
    If StringInStr($attrib, "R") Then
        MsgBox(4096, "", "此为只读文件.")
    EndIf
EndIf

; 以文本形式显示完整的属性信息
; 排列依据实际文件而定, 每个大写字母是唯一的
; 一个很好的字符串拆分练习帮助弄清楚函数是如何工作的...
Local $input = StringSplit("R,A,S,H,N,D,O,C,T", ",")
Local $output = StringSplit("只读 /, 存档 /, 系统 /, 隐藏 /" & _
        ", 普通 /, 目录 /, 脱机文件 /, 压缩 /, 临时 /", ",")
For $i = 1 To 9
    $attrib = StringReplace($attrib, $input[$i], $output[$i], 0, 1)
    ; 最后一个参数是指定函数 StringReplace 替换时区分大小写
Next
$attrib = StringTrimRight($attrib, 2) ;删除结尾的反斜线
MsgBox(0, "", "文件属性: " & $attrib)

provider with jb51.net (unicode)