📄 clsdir.cls
字号:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "clsDir"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Private strDir As String
Public Property Let strMyDir(ByVal strData As String)
If Right(strData, 1) <> "\" Then
strDir = strData + "\"
Else
strDir = strData
End If
End Property
Public Property Get strMyDir() As String
strMyDir = strDir
End Property
Public Function uCopyDir(ByVal strMubiaoDir As String) As Long
uCopyFile strDir, strMubiaoDir
End Function
Public Function uDelDir() As Long
uDelFile strDir
End Function
Public Function uSize(Optional ByVal ustrDir As String = "") As Long
Dim Win_Find As WIN32_FIND_DATA
Dim strFileName As String
Dim hFindFile As Long, se As Long
If ustrDir = "" Then ustrDir = strDir
uSize = 0
hFindFile = FindFirstFile(ustrDir + "*.*", Win_Find)
If hFindFile <> -1 Then
se = 1
While se <> 0
strFileName = ustr(Win_Find.cFileName)
If (Int(Win_Find.dwFileAttributes / 16) Mod 2 = 1) And (Int(Win_Find.dwFileAttributes / 4) Mod 2 = 0) And strFileName <> "." And strFileName <> ".." Then uSize = uSize + uSize(ustrDir + strFileName + "\")
If (Int(Win_Find.dwFileAttributes / 16) Mod 2 = 0) And (Int(Win_Find.dwFileAttributes / 4) Mod 2 = 0) Then uSize = uSize + FileLen(ustrDir + strFileName)
se = FindNextFile(hFindFile, Win_Find)
Wend
FindClose hFindFile
End If
End Function
Public Function uFindFile(Optional ByVal ustrDir As String = "") As MSComctlLib.ListItems
Dim Win_Find As WIN32_FIND_DATA
Dim strFileName As String
Dim hFindFile As Long, se As Long
If ustrDir = "" Then ustrDir = strDir
hFindFile = FindFirstFile(ustrDir + "*.*", Win_Find)
If hFindFile <> -1 Then
se = 1
While se <> 0
strFileName = ustr(Win_Find.cFileName)
If (Int(Win_Find.dwFileAttributes / 16) Mod 2 = 1) And (Int(Win_Find.dwFileAttributes / 4) Mod 2 = 0) And strFileName <> "." And strFileName <> ".." Then
uFindFile.Add , , ustrDir + strFileName + "\"
uFindFile (ustrDir + strFileName + "\")
End If
If (Int(Win_Find.dwFileAttributes / 16) Mod 2 = 0) And (Int(Win_Find.dwFileAttributes / 4) Mod 2 = 0) Then uFindFile.Add , , ustrDir + strFileName
se = FindNextFile(hFindFile, Win_Find)
DoEvents
Wend
FindClose hFindFile
End If
End Function
Private Function ustr(ByVal Mystr As String) As String
Dim i As Integer
i = InStr(1, Mystr, Chr(0))
If i = 0 Then
ustr = Mystr
Else
ustr = Left(Mystr, i - 1)
End If
End Function
Private Sub uDelFile(ByVal strFindFile As String)
Dim Win_Find As WIN32_FIND_DATA
Dim strFileName As String
Dim hFindFile As Long, se As Long
hFindFile = FindFirstFile(strFindFile + "*.*", Win_Find)
If hFindFile <> -1 Then
se = 1
While se <> 0
strFileName = ustr(Win_Find.cFileName)
If (Int(Win_Find.dwFileAttributes / 16) Mod 2 = 1) And (Int(Win_Find.dwFileAttributes / 4) Mod 2 = 0) And strFileName <> "." And strFileName <> ".." Then Call uDelFile(strFindFile + strFileName + "\")
If (Int(Win_Find.dwFileAttributes / 16) Mod 2 = 0) And (Int(Win_Find.dwFileAttributes / 4) Mod 2 = 0) Then DeleteFile strFindFile + strFileName
se = FindNextFile(hFindFile, Win_Find)
Wend
FindClose hFindFile
End If
RemoveDirectory Left(strFindFile, Len(strFindFile) - 1)
End Sub
Private Sub uCopyFile(ByVal strYuan As String, ByVal strMubiao As String)
On Error Resume Next
Dim Win_Find As WIN32_FIND_DATA
Dim strFileName As String
Dim hFindFile As Long, se As Long
If Not IsFileExists(strMubiao) Then MkDir strMubiao
hFindFile = FindFirstFile(strYuan + "*.*", Win_Find)
If hFindFile <> -1 Then
se = 1
While se <> 0
strFileName = ustr(Win_Find.cFileName)
If (Int(Win_Find.dwFileAttributes / 16) Mod 2 = 1) And (Int(Win_Find.dwFileAttributes / 4) Mod 2 = 0) And strFileName <> "." And strFileName <> ".." Then Call uCopyFile(strYuan + strFileName + "\", strMubiao + strFileName + "\")
If (Int(Win_Find.dwFileAttributes / 16) Mod 2 = 0) And (Int(Win_Find.dwFileAttributes / 4) Mod 2 = 0) Then CopyFile strYuan + strFileName, strMubiao + strFileName, 1
se = FindNextFile(hFindFile, Win_Find)
Wend
FindClose hFindFile
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -