devxlogo

Clear File Attributes From Entire Directory Tree of Files

Clear File Attributes From Entire Directory Tree of Files

This function removes attributes from files in the folder you specify in strFolder. It also can walk down all subfolders of this folder recursively. This function was written mainly for removing the read-only flag that all files have after you copy a bunch from a CD (oldattribute = vbReadOnly), but you can use it with other attributes as well. Look for the other constants for file attributes in the object browser (subset scripting). To use this function, you must first set a Reference to the “Microsoft Scripting Runtime”:

 Option ExplicitPrivate fso As New Scripting.FileSystemObjectPublic Function ClearAttribute(strFolder As _String, fIncludeSubfolders As Boolean, _oldAttribute As VbFileAttribute) As LongDim fld As Scripting.FolderDim subfld As Scripting.FolderDim file As Scripting.fileDim lngCount As LongSet fld = fso.GetFolder(strFolder)For Each file In fld.FilesIf file.Attributes And oldAttribute Thenfile.Attributes = file.Attributes _And Not oldAttribute' Count the fileslngCount = lngCount + 1End IfNext fileIf fIncludeSubfolders ThenFor Each subfld In fld.SubFolders' Add total from this subfolder' And its subfolderslngCount = lngCount + _ClearAttribute(subfld.Path, _True, oldAttribute)Next subfldEnd If' Number of total processed filesClearAttribute = lngCountEnd Function

devx-admin

Share the Post: