查看完整版本: [-- 属性设置助手(批量或单个处理)   By 风无忌 --]

秋无痕论坛 -> 『秋无痕原创作品发布』 -> 属性设置助手(批量或单个处理)   By 风无忌 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

风无忌 2010-10-22 14:16

[attachment=87934]
[attachment=87935]
[attachment=87936]

功能主要就是批量或单个设置文件或文件夹的属性~~~

批量设置可用于文件夹杀手病毒造成的全盘文件和文件夹隐藏的状况~~~

源码给一下吧:

复制代码


  1. #NoTrayIcon
    #Region AutoIt3Wrapper 预编译参数(常用参数)
    #AutoIt3Wrapper_Icon= D:\Downloads\win7_icons\0002.ico    ;图标,支持EXE,DLL,ICO
    #AutoIt3Wrapper_OutFile=                         ;输出文件名
    #AutoIt3Wrapper_OutFile_Type=exe                       ;文件类型
    #AutoIt3Wrapper_Compression=4            ;压缩等级
    #AutoIt3Wrapper_UseUPX=y              ;使用压缩
    #AutoIt3Wrapper_Res_Comment= Attrib Set By FengWuji             ;注释
    #AutoIt3Wrapper_Res_Description=设置文件/文件夹属性          ;详细信息
    #AutoIt3Wrapper_Res_FileVersion= 1.0.0          ;文件版本
    ;#AutoIt3Wrapper_Res_FileVersion_AutoIncrement=p       ;自动更新版本
    #AutoIt3Wrapper_Res_LegalCopyright= 风无忌         ;版权
    #AutoIt3Wrapper_Change2CUI=N                           ;修改输出的程序为CUI(控制台程序)
    #EndRegion AutoIt3Wrapper 预编译参数(常用参数)
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #include <file.au3>
    #include <array.au3>
    Global $READONLY = 'R' ;只读属性
    Global $ARCHIVE = 'A' ;存档属性
    Global $SYSTEM = 'S' ;系统属性
    Global $HIDE = 'H' ;隐藏属性
    Global $NORMAL = 'N' ;普通属性
    Global $OFFLINE = 'O' ;脱机属性
    Global $TEMPORARY = 'T' ;临时文件属性
    Global $array = _FileListToArray(@WorkingDir) ;获得文件和文件加列表数组
    Global $path = @ScriptDir
    #Region ### START Koda GUI section ###
    $Form1 = GUICreate("属性设置助手                   By 风无忌", 413, 307, 302, 153)
    $PageControl1 = GUICtrlCreateTab(8, 24, 396, 272)
    $TabSheet1 = GUICtrlCreateTabItem("批量处理")
    $Group1 = GUICtrlCreateGroup("属性选择", 42, 69, 329, 81)
    GUICtrlSetFont(-1, 9, 400, 0, "Arial")
    $Checkbox1 = GUICtrlCreateCheckbox("只读", 58, 93, 57, 17)
    $Checkbox2 = GUICtrlCreateCheckbox("存档", 135, 93, 57, 17)
    $Checkbox3 = GUICtrlCreateCheckbox("系统", 211, 93, 57, 17)
    $Checkbox4 = GUICtrlCreateCheckbox("隐藏", 288, 93, 57, 17)
    $Checkbox5 = GUICtrlCreateCheckbox("普通", 58, 117, 57, 17)
    $Checkbox6 = GUICtrlCreateCheckbox("脱机", 135, 117, 57, 17)
    $Checkbox7 = GUICtrlCreateCheckbox("临时", 211, 117, 57, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("操作选择", 42, 156, 329, 57)
    GUICtrlSetFont(-1, 9, 400, 0, "Arial")
    $Radio1 = GUICtrlCreateRadio("添加属性", 74, 173, 121, 25)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Radio2 = GUICtrlCreateRadio("删除属性", 228, 173, 121, 25)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Button1 = GUICtrlCreateButton("确定(&O)", 111, 229, 75, 25)
    GUICtrlSetFont(-1, 9, 400, 0, "Arial")
    $Button2 = GUICtrlCreateButton("取消(&C)", 223, 229, 75, 25)
    GUICtrlSetFont(-1, 9, 400, 0, "Arial")
    $TabSheet2 = GUICtrlCreateTabItem("单个处理")
    $Label1 = GUICtrlCreateLabel("选择:", 30, 62, 30, 19)
    GUICtrlSetFont(-1, 9, 400, 0, "Arial")
    $Radio5 = GUICtrlCreateRadio("文件", 70, 50, 40, 19)
    GUICtrlSetFont(-1, 9, 400, 0, "Arial")
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Radio6 = GUICtrlCreateRadio("文件夹", 70, 70, 55, 19)
    GUICtrlSetFont(-1, 9, 400, 0, "Arial")
    $Input1 = GUICtrlCreateInput("", 136, 64, 169, 22)
    GUICtrlSetFont(-1, 9, 400, 0, "Arial")
    $Button3 = GUICtrlCreateButton("浏览(&V)", 315, 63, 57, 25)
    GUICtrlSetFont(-1, 9, 400, 0, "Arial")
    $Group3 = GUICtrlCreateGroup("属性选择", 43, 91, 329, 81)
    GUICtrlSetFont(-1, 9, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFFFBF0)
    $Checkbox8 = GUICtrlCreateCheckbox("只读", 59, 115, 57, 17)
    $Checkbox9 = GUICtrlCreateCheckbox("存档", 136, 115, 57, 17)
    $Checkbox10 = GUICtrlCreateCheckbox("系统", 212, 115, 57, 17)
    $Checkbox11 = GUICtrlCreateCheckbox("隐藏", 289, 115, 57, 17)
    $Checkbox12 = GUICtrlCreateCheckbox("普通", 59, 139, 57, 17)
    $Checkbox13 = GUICtrlCreateCheckbox("脱机", 136, 139, 57, 17)
    $Checkbox14 = GUICtrlCreateCheckbox("临时", 212, 139, 57, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group4 = GUICtrlCreateGroup("操作选择", 43, 178, 329, 57)
    GUICtrlSetFont(-1, 9, 400, 0, "Arial")
    $Radio3 = GUICtrlCreateRadio("添加属性", 75, 195, 121, 25)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Radio4 = GUICtrlCreateRadio("删除属性", 229, 195, 121, 25)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Button4 = GUICtrlCreateButton("确定(&O)", 109, 246, 75, 25)
    GUICtrlSetFont(-1, 9, 400, 0, "Arial")
    $Button5 = GUICtrlCreateButton("取消(&C)", 229, 246, 75, 25)
    GUICtrlSetFont(-1, 9, 400, 0, "Arial")
    $TabSheet3 = GUICtrlCreateTabItem("程序说明")
    GUICtrlSetState(-1, $GUI_SHOW)
    $Label2 = GUICtrlCreateLabel("可以批量或单个设置文件夹和文件的属性;", 88, 88, 223, 17)
    $Label3 = GUICtrlCreateLabel("批量设置可用于文件夹杀手病毒造成的目", 89, 112, 220, 17)
    $Label4 = GUICtrlCreateLabel("录下文件夹和文件全被加上系统和隐藏属", 89, 134, 220, 17)
    $Label5 = GUICtrlCreateLabel("性的状况;", 89, 159, 55, 17)
    $Label6 = GUICtrlCreateLabel("作   者:            风无忌       ", 89, 183, 210, 17)
    $Label7 = GUICtrlCreateLabel("Bug反馈:       wzh880801@163.com", 89, 210, 215, 17)
    GUICtrlCreateTabItem("")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    AdlibRegister("Check",800)
    While 1
     $nMsg = GUIGetMsg()
     Switch $nMsg
      Case $GUI_EVENT_CLOSE, $Button2, $Button5
       _Exit()
      Case $Button1
       While 1
        If BitAND(GUICtrlRead($Checkbox1), $GUI_UNCHECKED) = $GUI_UNCHECKED And BitAND(GUICtrlRead($Checkbox2), $GUI_UNCHECKED) = $GUI_UNCHECKED And BitAND(GUICtrlRead($Checkbox3), $GUI_UNCHECKED) = $GUI_UNCHECKED _
          And BitAND(GUICtrlRead($Checkbox4), $GUI_UNCHECKED) = $GUI_UNCHECKED And BitAND(GUICtrlRead($Checkbox5), $GUI_UNCHECKED) = $GUI_UNCHECKED And BitAND(GUICtrlRead($Checkbox6), $GUI_UNCHECKED) = $GUI_UNCHECKED _
          And BitAND(GUICtrlRead($Checkbox7), $GUI_UNCHECKED) = $GUI_UNCHECKED Then
         $msg = MsgBox(0 + 48, "提示", "你未选择任何项目!", "", $Form1)
         If $msg = 1 Then ExitLoop
        EndIf
        If BitAND(GUICtrlRead($Radio1), $GUI_CHECKED) = $GUI_CHECKED Then
         GroupAddAttrib()
         MsgBox(0, "完成", "增加属性成功完成", "", $Form1)
         _EXIT()
        Else
         GroupDelAttrib()
         MsgBox(0, "完成", "删除属性成功完成", "", $Form1)
         _EXIT()
        EndIf
       WEnd
      Case $Button3
       If BitAND(GUICtrlRead($Radio5), $GUI_CHECKED) = $GUI_CHECKED Then
        $dialog = FileOpenDialog("选择要处理的文件", @ScriptDir, "All Files(*.*)", 1 + 2 + 8, "", $Form1)
        GUICtrlSetData($Input1, $dialog)
        $file_need = GUICtrlRead($Input1)
        If FileExists($file_need) Then
         $Attrib = FileGetAttrib($file_need)
         If StringInStr($Attrib, "R") Then
          GUICtrlSetState($Checkbox8, $GUI_CHECKED)
         Else
          GUICtrlSetState($Checkbox8, $GUI_UNCHECKED)
         EndIf
         If StringInStr($Attrib, "A") Then
          GUICtrlSetState($Checkbox9, $GUI_CHECKED)
         Else
          GUICtrlSetState($Checkbox9, $GUI_UNCHECKED)
         EndIf
         If StringInStr($Attrib, "S") Then
          GUICtrlSetState($Checkbox10, $GUI_CHECKED)
         Else
          GUICtrlSetState($Checkbox10, $GUI_UNCHECKED)
         EndIf
         If StringInStr($Attrib, "H") Then
          GUICtrlSetState($Checkbox11, $GUI_CHECKED)
         Else
          GUICtrlSetState($Checkbox11, $GUI_UNCHECKED)
         EndIf
         If StringInStr($Attrib, "N") Then
          GUICtrlSetState($Checkbox12, $GUI_CHECKED)
         Else
          GUICtrlSetState($Checkbox12, $GUI_UNCHECKED)
         EndIf
         If StringInStr($Attrib, "O") Then
          GUICtrlSetState($Checkbox13, $GUI_CHECKED)
         Else
          GUICtrlSetState($Checkbox13, $GUI_UNCHECKED)
         EndIf
         If StringInStr($Attrib, "T") Then
          GUICtrlSetState($Checkbox14, $GUI_CHECKED)
         Else
          GUICtrlSetState($Checkbox14, $GUI_UNCHECKED)
         EndIf
        EndIf
       Else
        Do
         $dialog = FileSelectFolder("选择要处理的文件夹", "", "", @ScriptDir, $Form1)
         If StringLen($dialog) = 3 Then
          MsgBox(0 + 16, "错误", "不能对磁盘进行操作", "", $Form1)
          ExitLoop
         EndIf
         GUICtrlSetData($Input1, $dialog)
         $folder_need = GUICtrlRead($Input1)
         If FileExists($folder_need) Then
          $Attrib = FileGetAttrib($folder_need)
          If StringInStr($Attrib, "R") Then
           GUICtrlSetState($Checkbox8, $GUI_CHECKED)
          Else
           GUICtrlSetState($Checkbox8, $GUI_UNCHECKED)
          EndIf
          If StringInStr($Attrib, "A") Then
           GUICtrlSetState($Checkbox9, $GUI_CHECKED)
          Else
           GUICtrlSetState($Checkbox9, $GUI_UNCHECKED)
          EndIf
          If StringInStr($Attrib, "S") Then
           GUICtrlSetState($Checkbox10, $GUI_CHECKED)
          Else
           GUICtrlSetState($Checkbox10, $GUI_UNCHECKED)
          EndIf
          If StringInStr($Attrib, "H") Then
           GUICtrlSetState($Checkbox11, $GUI_CHECKED)
          Else
           GUICtrlSetState($Checkbox11, $GUI_UNCHECKED)
          EndIf
          If StringInStr($Attrib, "N") Then
           GUICtrlSetState($Checkbox12, $GUI_CHECKED)
          Else
           GUICtrlSetState($Checkbox12, $GUI_UNCHECKED)
          EndIf
          If StringInStr($Attrib, "O") Then
           GUICtrlSetState($Checkbox13, $GUI_CHECKED)
          Else
           GUICtrlSetState($Checkbox13, $GUI_UNCHECKED)
          EndIf
          If StringInStr($Attrib, "T") Then
           GUICtrlSetState($Checkbox14, $GUI_CHECKED)
          Else
           GUICtrlSetState($Checkbox14, $GUI_UNCHECKED)
          EndIf
         EndIf
        Until StringLen($dialog) <> 3
       EndIf
      Case $Button4
       While 1
        If BitAND(GUICtrlRead($Checkbox8), $GUI_UNCHECKED) = $GUI_UNCHECKED And BitAND(GUICtrlRead($Checkbox9), $GUI_UNCHECKED) = $GUI_UNCHECKED And BitAND(GUICtrlRead($Checkbox10), $GUI_UNCHECKED) = $GUI_UNCHECKED _
          And BitAND(GUICtrlRead($Checkbox11), $GUI_UNCHECKED) = $GUI_UNCHECKED And BitAND(GUICtrlRead($Checkbox12), $GUI_UNCHECKED) = $GUI_UNCHECKED And BitAND(GUICtrlRead($Checkbox13), $GUI_UNCHECKED) = $GUI_UNCHECKED _
          And BitAND(GUICtrlRead($Checkbox14), $GUI_UNCHECKED) = $GUI_UNCHECKED Then
         $msg = MsgBox(0 + 48, "提示", "你未选择任何项目!", "", $Form1)
         If $msg = 1 Then ExitLoop
        EndIf
        If BitAND(GUICtrlRead($Radio3), $GUI_CHECKED) = $GUI_CHECKED Then
         SingleAddAttrib()
         MsgBox(0, "完成", "增加属性成功完成", "", $Form1)
         AdlibUnRegister("Check")
         GUICtrlSetData($Input1, "")
         AdlibRegister("Check",800)
         SetAttrib()
         ExitLoop
        Else
         SingleDelAttrib()
         MsgBox(0, "完成", "删除属性成功完成", "", $Form1)
         AdlibUnRegister("Check")
         GUICtrlSetData($Input1, "")
         AdlibRegister("Check",800)
         SetAttrib()
         ExitLoop
        EndIf
       WEnd
     EndSwitch
    WEnd
    Func _EXIT()
     Exit
    EndFunc   ;==>_EXIT
    Func GroupAddAttrib()
     If BitAND(GUICtrlRead($Checkbox1), $GUI_CHECKED) = $GUI_CHECKED Then
      For $i = 1 To $array[0]
       If $array[$i] = @ScriptName Then ContinueLoop
       FileSetAttrib($array[$i], "+" & $READONLY)
       If @error Then
        MsgBox(0 + 16, "提示", "为" & $array[$i] & "设置属性错误")
        ContinueLoop
       EndIf
      Next
     EndIf
     If BitAND(GUICtrlRead($Checkbox2), $GUI_CHECKED) = $GUI_CHECKED Then
      For $i = 1 To $array[0]
       If $array[$i] = @ScriptName Then ContinueLoop
       FileSetAttrib($array[$i], "+" & $ARCHIVE)
       If @error Then
        MsgBox(0 + 16, "提示", "为" & $array[$i] & "设置属性错误")
        ContinueLoop
       EndIf
      Next
     EndIf
     If BitAND(GUICtrlRead($Checkbox3), $GUI_CHECKED) = $GUI_CHECKED Then
      For $i = 1 To $array[0]
       If $array[$i] = @ScriptName Then ContinueLoop
       FileSetAttrib($array[$i], "+" & $SYSTEM)
       If @error Then
        MsgBox(0 + 16, "提示", "为" & $array[$i] & "设置属性错误")
        ContinueLoop
       EndIf
      Next
     EndIf
     If BitAND(GUICtrlRead($Checkbox4), $GUI_CHECKED) = $GUI_CHECKED Then
      For $i = 1 To $array[0]
       If $array[$i] = @ScriptName Then ContinueLoop
       FileSetAttrib($array[$i], "+" & $HIDE)
       If @error Then
        MsgBox(0 + 16, "提示", "为" & $array[$i] & "设置属性错误")
        ContinueLoop
       EndIf
      Next
     EndIf
     If BitAND(GUICtrlRead($Checkbox5), $GUI_CHECKED) = $GUI_CHECKED Then
      For $i = 1 To $array[0]
       If $array[$i] = @ScriptName Then ContinueLoop
       FileSetAttrib($array[$i], "+" & $NORMAL)
       If @error Then
        MsgBox(0 + 16, "提示", "为" & $array[$i] & "设置属性错误")
        ContinueLoop
       EndIf
      Next
     EndIf
     If BitAND(GUICtrlRead($Checkbox6), $GUI_CHECKED) = $GUI_CHECKED Then
      For $i = 1 To $array[0]
       If $array[$i] = @ScriptName Then ContinueLoop
       FileSetAttrib($array[$i], "+" & $OFFLINE)
       If @error Then
        MsgBox(0 + 16, "提示", "为" & $array[$i] & "设置属性错误")
        ContinueLoop
       EndIf
      Next
     EndIf
     If BitAND(GUICtrlRead($Checkbox7), $GUI_CHECKED) = $GUI_CHECKED Then
      For $i = 1 To $array[0]
       If $array[$i] = @ScriptName Then ContinueLoop
       FileSetAttrib($array[$i], "+" & $TEMPORARY)
       If @error Then
        MsgBox(0 + 16, "提示", "为" & $array[$i] & "设置属性错误")
        ContinueLoop
       EndIf
      Next
     EndIf
    EndFunc   ;==>GroupAddAttrib
    Func GroupDelAttrib()
     If BitAND(GUICtrlRead($Checkbox1), $GUI_CHECKED) = $GUI_CHECKED Then
      For $i = 1 To $array[0]
       If $array[$i] = @ScriptName Then ContinueLoop
       FileSetAttrib($array[$i], "-" & $READONLY)
       If @error Then
        MsgBox(0 + 16, "提示", "为" & $array[$i] & "设置属性错误")
        ContinueLoop
       EndIf
      Next
     EndIf
     If BitAND(GUICtrlRead($Checkbox2), $GUI_CHECKED) = $GUI_CHECKED Then
      For $i = 1 To $array[0]
       If $array[$i] = @ScriptName Then ContinueLoop
       FileSetAttrib($array[$i], "-" & $ARCHIVE)
       If @error Then
        MsgBox(0 + 16, "提示", "为" & $array[$i] & "设置属性错误")
        ContinueLoop
       EndIf
      Next
     EndIf
     If BitAND(GUICtrlRead($Checkbox3), $GUI_CHECKED) = $GUI_CHECKED Then
      For $i = 1 To $array[0]
       If $array[$i] = @ScriptName Then ContinueLoop
       FileSetAttrib($array[$i], "-" & $SYSTEM)
       If @error Then
        MsgBox(0 + 16, "提示", "为" & $array[$i] & "设置属性错误")
        ContinueLoop
       EndIf
      Next
     EndIf
     If BitAND(GUICtrlRead($Checkbox4), $GUI_CHECKED) = $GUI_CHECKED Then
      For $i = 1 To $array[0]
       If $array[$i] = @ScriptName Then ContinueLoop
       FileSetAttrib($array[$i], "-" & $HIDE)
       If @error Then
        MsgBox(0 + 16, "提示", "为" & $array[$i] & "设置属性错误")
        ContinueLoop
       EndIf
      Next
     EndIf
     If BitAND(GUICtrlRead($Checkbox5), $GUI_CHECKED) = $GUI_CHECKED Then
      For $i = 1 To $array[0]
       If $array[$i] = @ScriptName Then ContinueLoop
       FileSetAttrib($array[$i], "-" & $NORMAL)
       If @error Then
        MsgBox(0 + 16, "提示", "为" & $array[$i] & "设置属性错误")
        ContinueLoop
       EndIf
      Next
     EndIf
     If BitAND(GUICtrlRead($Checkbox6), $GUI_CHECKED) = $GUI_CHECKED Then
      For $i = 1 To $array[0]
       If $array[$i] = @ScriptName Then ContinueLoop
       FileSetAttrib($array[$i], "-" & $OFFLINE)
       If @error Then
        MsgBox(0 + 16, "提示", "为" & $array[$i] & "设置属性错误")
        ContinueLoop
       EndIf
      Next
     EndIf
     If BitAND(GUICtrlRead($Checkbox7), $GUI_CHECKED) = $GUI_CHECKED Then
      For $i = 1 To $array[0]
       If $array[$i] = @ScriptName Then ContinueLoop
       FileSetAttrib($array[$i], "-" & $TEMPORARY)
       If @error Then
        MsgBox(0 + 16, "提示", "为" & $array[$i] & "设置属性错误")
        ContinueLoop
       EndIf
      Next
     EndIf
    EndFunc   ;==>GroupDelAttrib
    Func SingleAddAttrib()
     $file = GUICtrlRead($Input1)
     If BitAND(GUICtrlRead($Checkbox8), $GUI_CHECKED) = $GUI_CHECKED Then
      FileSetAttrib($file, "+" & $READONLY)
      If @error Then MsgBox(0 + 16, "提示", "为" & $file & "设置属性错误")
     EndIf
     If BitAND(GUICtrlRead($Checkbox9), $GUI_CHECKED) = $GUI_CHECKED Then
      FileSetAttrib($file, "+" & $ARCHIVE)
      If @error Then MsgBox(0 + 16, "提示", "为" & $file & "设置属性错误")
     EndIf
     If BitAND(GUICtrlRead($Checkbox10), $GUI_CHECKED) = $GUI_CHECKED Then
      FileSetAttrib($file, "+" & $SYSTEM)
      If @error Then MsgBox(0 + 16, "提示", "为" & $file & "设置属性错误")
     EndIf
     If BitAND(GUICtrlRead($Checkbox11), $GUI_CHECKED) = $GUI_CHECKED Then
      FileSetAttrib($file, "+" & $HIDE)
      If @error Then MsgBox(0 + 16, "提示", "为" & $file & "设置属性错误")
     EndIf
     If BitAND(GUICtrlRead($Checkbox12), $GUI_CHECKED) = $GUI_CHECKED Then
      FileSetAttrib($file, "+" & $NORMAL)
      If @error Then MsgBox(0 + 16, "提示", "为" & $file & "设置属性错误")
     EndIf
     If BitAND(GUICtrlRead($Checkbox13), $GUI_CHECKED) = $GUI_CHECKED Then
      FileSetAttrib($file, "+" & $OFFLINE)
      If @error Then MsgBox(0 + 16, "提示", "为" & $file & "设置属性错误")
     EndIf
     If BitAND(GUICtrlRead($Checkbox14), $GUI_CHECKED) = $GUI_CHECKED Then
      FileSetAttrib($file, "+" & $TEMPORARY)
      If @error Then MsgBox(0 + 16, "提示", "为" & $file & "设置属性错误")
     EndIf
    EndFunc   ;==>SingleAddAttrib
    Func SingleDelAttrib()
     $file = GUICtrlRead($Input1)
     If BitAND(GUICtrlRead($Checkbox8), $GUI_CHECKED) = $GUI_CHECKED Then
      FileSetAttrib($file, "-" & $READONLY)
      If @error Then MsgBox(0 + 16, "提示", "为" & $file & "设置属性错误")
     EndIf
     If BitAND(GUICtrlRead($Checkbox9), $GUI_CHECKED) = $GUI_CHECKED Then
      FileSetAttrib($file, "-" & $ARCHIVE)
      If @error Then MsgBox(0 + 16, "提示", "为" & $file & "设置属性错误")
     EndIf
     If BitAND(GUICtrlRead($Checkbox10), $GUI_CHECKED) = $GUI_CHECKED Then
      FileSetAttrib($file, "-" & $SYSTEM)
      If @error Then MsgBox(0 + 16, "提示", "为" & $file & "设置属性错误")
     EndIf
     If BitAND(GUICtrlRead($Checkbox11), $GUI_CHECKED) = $GUI_CHECKED Then
      FileSetAttrib($file, "-" & $HIDE)
      If @error Then MsgBox(0 + 16, "提示", "为" & $file & "设置属性错误")
     EndIf
     If BitAND(GUICtrlRead($Checkbox12), $GUI_CHECKED) = $GUI_CHECKED Then
      FileSetAttrib($file, "-" & $NORMAL)
      If @error Then MsgBox(0 + 16, "提示", "为" & $file & "设置属性错误")
     EndIf
     If BitAND(GUICtrlRead($Checkbox13), $GUI_CHECKED) = $GUI_CHECKED Then
      FileSetAttrib($file, "-" & $OFFLINE)
      If @error Then MsgBox(0 + 16, "提示", "为" & $file & "设置属性错误")
     EndIf
     If BitAND(GUICtrlRead($Checkbox14), $GUI_CHECKED) = $GUI_CHECKED Then
      FileSetAttrib($file, "-" & $TEMPORARY)
      If @error Then MsgBox(0 + 16, "提示", "为" & $file & "设置属性错误")
     EndIf
    EndFunc   ;==>SingleDelAttrib
    Func SetAttrib()
     If BitAND(GUICtrlRead($Checkbox8), $GUI_CHECKED) = $GUI_CHECKED Then GUICtrlSetState($Checkbox8, $GUI_UNCHECKED)
     If BitAND(GUICtrlRead($Checkbox9), $GUI_CHECKED) = $GUI_CHECKED Then GUICtrlSetState($Checkbox9, $GUI_UNCHECKED)
     If BitAND(GUICtrlRead($Checkbox10), $GUI_CHECKED) = $GUI_CHECKED Then GUICtrlSetState($Checkbox10, $GUI_UNCHECKED)
     If BitAND(GUICtrlRead($Checkbox11), $GUI_CHECKED) = $GUI_CHECKED Then GUICtrlSetState($Checkbox11, $GUI_UNCHECKED)
     If BitAND(GUICtrlRead($Checkbox12), $GUI_CHECKED) = $GUI_CHECKED Then GUICtrlSetState($Checkbox12, $GUI_UNCHECKED)
     If BitAND(GUICtrlRead($Checkbox13), $GUI_CHECKED) = $GUI_CHECKED Then GUICtrlSetState($Checkbox13, $GUI_UNCHECKED)
     If BitAND(GUICtrlRead($Checkbox14), $GUI_CHECKED) = $GUI_CHECKED Then GUICtrlSetState($Checkbox14, $GUI_UNCHECKED)
     
     GUICtrlSetState($Checkbox8, $GUI_ENABLE)
     GUICtrlSetState($Checkbox9, $GUI_ENABLE)
     GUICtrlSetState($Checkbox10, $GUI_ENABLE)
     GUICtrlSetState($Checkbox11, $GUI_ENABLE)
     GUICtrlSetState($Checkbox12, $GUI_ENABLE)
     GUICtrlSetState($Checkbox13, $GUI_ENABLE)
     GUICtrlSetState($Checkbox14, $GUI_ENABLE)
    EndFunc   ;==>SetAttrib
    Func Check()
     $file_check = GUICtrlRead($Input1)
     $Attrib1 = FileGetAttrib($file_check)
     If GUICtrlRead($Input1) <> "" Then
      If BitAND(GUICtrlRead($Radio3), $GUI_CHECKED) = $GUI_CHECKED Then
       If StringInStr($Attrib1, 'R') Then
        GUICtrlSetState($Checkbox8, $GUI_DISABLE)
       Else
        GUICtrlSetState($Checkbox8, $GUI_ENABLE)
       EndIf
       If StringInStr($Attrib1, 'A') Then
        GUICtrlSetState($Checkbox9, $GUI_DISABLE)
       Else
        GUICtrlSetState($Checkbox9, $GUI_ENABLE)
       EndIf
       If StringInStr($Attrib1, 'S') Then
        GUICtrlSetState($Checkbox10, $GUI_DISABLE)
       Else
        GUICtrlSetState($Checkbox10, $GUI_ENABLE)
       EndIf
       If StringInStr($Attrib1, 'H') Then
        GUICtrlSetState($Checkbox11, $GUI_DISABLE)
       Else
        GUICtrlSetState($Checkbox11, $GUI_ENABLE)
       EndIf
       If StringInStr($Attrib1, 'N') Then
        GUICtrlSetState($Checkbox12, $GUI_DISABLE)
       Else
        GUICtrlSetState($Checkbox12, $GUI_ENABLE)
       EndIf
       If StringInStr($Attrib1, 'O') Then
        GUICtrlSetState($Checkbox13, $GUI_DISABLE)
       Else
        GUICtrlSetState($Checkbox13, $GUI_ENABLE)
       EndIf
       If StringInStr($Attrib1, 'T') Then
        GUICtrlSetState($Checkbox14, $GUI_DISABLE)
       Else
        GUICtrlSetState($Checkbox14, $GUI_ENABLE)
       EndIf
      Else
       If Not StringInStr($Attrib1, 'R') Then
        GUICtrlSetState($Checkbox8, $GUI_DISABLE)
       Else
        GUICtrlSetState($Checkbox8, $GUI_ENABLE)
       EndIf
       If Not StringInStr($Attrib1, 'A') Then
        GUICtrlSetState($Checkbox9, $GUI_DISABLE)
       Else
        GUICtrlSetState($Checkbox9, $GUI_ENABLE)
       EndIf
       If Not StringInStr($Attrib1, 'S') Then
        GUICtrlSetState($Checkbox10, $GUI_DISABLE)
       Else
        GUICtrlSetState($Checkbox10, $GUI_ENABLE)
       EndIf
       If Not StringInStr($Attrib1, 'H') Then
        GUICtrlSetState($Checkbox11, $GUI_DISABLE)
       Else
        GUICtrlSetState($Checkbox11, $GUI_ENABLE)
       EndIf
       If Not StringInStr($Attrib1, 'N') Then
        GUICtrlSetState($Checkbox12, $GUI_DISABLE)
       Else
        GUICtrlSetState($Checkbox12, $GUI_ENABLE)
       EndIf
       If Not StringInStr($Attrib1, 'O') Then
        GUICtrlSetState($Checkbox13, $GUI_DISABLE)
       Else
        GUICtrlSetState($Checkbox13, $GUI_ENABLE)
       EndIf
       If Not StringInStr($Attrib1, 'T') Then
        GUICtrlSetState($Checkbox14, $GUI_DISABLE)
       Else
        GUICtrlSetState($Checkbox14, $GUI_ENABLE)
       EndIf
      EndIf
     EndIf
    EndFunc   ;==>Check


下载地址:
http://u.115.com/file/f5566104f9
批量或单个属性设置助手.7z

tgm_6668 2013-03-15 22:17
学习了,又长知识了

hsw70531 2013-03-30 21:34
这个可能用不着了

devil2001 2013-06-12 10:04
学习了。仔细读读。

laoer1984 2013-06-14 21:46
这个小工具不错,收藏了。

wei_334455 2013-08-29 07:48
经典,支持。。。

我心依旧 2013-09-05 14:50
简单易懂   谢谢了

hexj9 2013-09-05 16:05
这个用不上的

chtqq 2013-10-06 14:14
非常好用的便捷工具,谢谢分享

pppsky 2013-12-18 14:22
原创帖,支持楼主!

wwwxgd 2013-12-28 09:12
有一定实用性,谢谢分享!!

haozai 2014-02-08 16:01
如果能加上修改时间属性就好了

瑟琅 2014-06-17 16:45
过来支持一下哎

dhl8020 2014-11-15 00:00
学习了也长见识了

masis_x 2015-06-03 20:08
谢谢分享 拿下了

啊笨 2015-06-10 19:21

好东西啊。。。
下个   看看

hcmy00 2015-07-17 17:48
下载来看看,谢谢了

hexj9 2016-03-24 08:26
谢谢分享了。

又帅又可爱 2016-04-16 18:49
简单易懂   谢谢了

菩提889 2016-06-25 14:40
谢谢!收藏一下了

nick99 2016-06-25 20:11
不用这个的啊

巴尔扎特 2017-02-20 11:17
谢谢楼主放出的源码,努力读懂中。

incabineter 2017-02-22 10:21
这个东西还是不错的,方便实用小巧

liumz1963 2017-05-31 06:28
不错,可以收藏。

hexj9 2017-05-31 08:40
这个可以看看,了解一下。

zhaofa520 2017-08-26 22:38
非常感謝您的分享~~辛苦了~


查看完整版本: [-- 属性设置助手(批量或单个处理)   By 风无忌 --] [-- top --]



Powered by PHPWind v7.3.2 Code © 2003-08 PHPWind
Time 0.042971 second(s),query:3 Gzip enabled

You can contact us