1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213
|
Public Class WindowsExporer
Inherits Env
Implements IDisposable
' Field to handle multiple calls to Dispose gracefully.
Dim disposed As Boolean = False
' Implement IDisposable.
Public Overloads Sub Dispose() Implements IDisposable.Dispose
Dispose(True)
GC.SuppressFinalize(Me)
End Sub
Protected Overridable Overloads Sub Dispose(ByVal disposing As Boolean)
If disposed = False Then
If disposing Then
' Free other state (managed objects).
disposed = True
End If
' Free your own state (unmanaged objects).
' Set large fields to null.
End If
End Sub
Protected Overrides Sub Finalize()
' Simply call Dispose(False).
Dispose(False)
End Sub
Public Function AppPath() As String
Dim p As String
' Recupere le chemin complet avec le nom de l'executable
p = Application.ExecutablePath
Return p.Substring(0, p.LastIndexOf("\"))
'End If
End Function
'Permet de vérifier si le répertoire dont le nom est précisé en paramètre (Repertoires) existe. Retourne True s'il existe, sinon False
Public Function Repertoires_Existe(ByRef Repertoires As String) As Boolean
Dim fso As Object
fso = CreateObject("Scripting.FileSystemObject")
Repertoires_Existe = fso.FolderExists(Repertoires)
fso = Nothing
End Function
Public Function GetFolders(ByVal Repertoires As String) As Object
Dim fso As Object
fso = CreateObject("Scripting.FileSystemObject")
If Repertoires_Existe(Repertoires) = True Then Return fso.GetFolder(Repertoires)
fso = Nothing
Return Nothing
End Function
'Taille d'un répertoire
Public Function Taille_Repertoire(ByRef Repertoire)
Dim fso As Object
Dim Rep As Object
fso = CreateObject("Scripting.FileSystemObject")
Rep = fso.GetFolder(Repertoire)
Taille_Repertoire = Rep.Size
End Function
Function Repertoire_Date_Creation(ByRef Repertoire)
Dim fso As Object
Dim Rep As Object
fso = CreateObject("Scripting.FileSystemObject")
Rep = fso.GetFolder(Repertoire)
Repertoire_Date_Creation = Rep.DateCreated
End Function
'Crée un répertoire, dont l'emplacement et le nom sont précisé par le chemin d'accès complet précisé en argument (NewRepertoires).
Public Sub Creer_Repertoires(ByRef NewRepertoires As String)
Dim fso As Object
fso = CreateObject("Scripting.FileSystemObject")
Dim t
Dim R As String
Dim I As Long
On Error Resume Next
R = ""
t = Split(NewRepertoires & "\", "\")
For I = 0 To UBound(t)
If Trim("" & t(I)) <> "" Then
R = R & Trim("" & t(I))
If Repertoires_Existe(R) = 0 Then fso.CreateFolder("" & R)
End If
R = R & "\"
Next
fso = Nothing
On Error GoTo 0
End Sub
'Copie un répertoire, ainsi que tous les fichiers et sous-répertoires qu'il contient, d'une source vers une destination.
Public Sub Copie_Repertoires(ByRef Source As String, ByRef Destination As String)
Dim fso As Object
fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFolder(Source, Destination, True)
fso = Nothing
End Sub
'Déplace un ou plusieurs répertoire d'un emplacement source vers une destination.
Public Function Deplace_Repertoire(ByRef Source As String, ByRef Destination As String) As String
Dim fso As Object
fso = CreateObject("Scripting.FileSystemObject")
On Error Resume Next
fso.MoveFolder(Source, Destination)
If Err.Number > 0 Then Deplace_Repertoire = Err.Description
Err.Clear()
On Error GoTo 0
fso = Nothing
End Function
'Permet de supprimer un répertoire et tous les fichiers et sous-répertoires qu'il contient.
Public Sub Supprimer_Repertoire(ByRef DelRepertoire As String)
Dim fso As Object
fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFolder(DelRepertoire, True)
fso = Nothing
End Sub
'Taille d'un répertoire
Public Function Taille_Fichier(ByRef Fichier)
Dim fso As Object
Dim Fich As Object
fso = CreateObject("Scripting.FileSystemObject")
Fich = fso.GetFile(Fichier)
Taille_Fichier = Fich.Size
End Function
'Vérifie lexistance d'un fichier
Public Function Fichier_Exist(ByRef Fichier As String)
Dim Fso As Object
Fso = CreateObject("Scripting.FileSystemObject")
Fichier_Exist = Fso.FileExists(Fichier)
Fso = Nothing
End Function
'Retourne le nom du fichier, à partir du chemin d'accès complet précisé en paramètre.
Public Function Fichier_Name(ByRef Fichier As String)
Dim fso As Object
Fichier_Name = ""
If Fichier_Exist(Fichier) <> 0 Then
fso = CreateObject("Scripting.FileSystemObject")
Fichier_Name = fso.GetBaseName(Fichier)
fso = Nothing
End If
End Function
'Retourne l'extension du fichier, à partir du chemin d'accès complet précisé en paramètre.
Public Function Fichier_extension(ByRef Fichier As String)
Dim fso As Object
If Fichier_Exist(Fichier) <> 0 Then
fso = CreateObject("Scripting.FileSystemObject")
Return fso.GetExtensionName(Fichier)
fso = Nothing
End If
Return ""
End Function
'Copie un fichier d'une source vers une destination.
Public Sub Copie_Fichier(ByRef Source As String, ByRef Destination As String)
Dim fso As Object
fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFile(Source, Destination, True)
fso = Nothing
End Sub
'Déplace un ou plusieurs fichiers d'un emplacement source vers une destination.
Public Sub Deplace_Fichier(ByRef Source As String, ByRef Destination As String)
Dim fso As Object
fso = CreateObject("Scripting.FileSystemObject")
fso.MoveFile(Source, Destination)
fso = Nothing
End Sub
'Supprime le ou les fichiers dont le nom est précisé en argument.
Public Sub Supprimer_Fichier(ByRef DelFichier As String)
If Fichier_Exist(DelFichier) <> 0 Then
Dim fso As Object
fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFile(DelFichier, True)
fso = Nothing
End If
End Sub
Private Sub AppendTxt(ByRef sFile, ByRef sText)
Dim fso, NewFichier
fso = CreateObject("Scripting.FileSystemObject")
NewFichier = fso.OpenTextFile(sFile, 8)
NewFichier.Write(sText)
NewFichier.Close()
NewFichier = Nothing
fso = Nothing
End Sub
Public Sub FichierLog(ByRef sFile, ByRef txt)
Dim FichierLog, fso
FichierLog = sFile
''CreerPath FichierLog
fso = CreateObject("Scripting.FileSystemObject")
If Fichier_Exist(FichierLog) = 0 Then EnteteFichier(FichierLog)
AppendTxt(FichierLog, txt)
fso = Nothing
End Sub
Private Sub EnteteFichier(ByRef Fichier)
Dim txt, fso, NewFichier
txt = "***********************************************************************************************************************************************************************************"
txt = txt & vbCrLf
txt = txt & ""
txt = txt & vbCrLf
txt = txt & " Date de création: " & DateAndTime.Day(Now) & "/" & Month(Now) & "/" & Year(Now) & " " & Hour(Now) & ":" & Minute(Now) & vbCrLf
txt = txt & vbCrLf
txt = txt & " " & Fichier
txt = txt & vbCrLf
txt = txt & "***********************************************************************************************************************************************************************************"
txt = txt & vbCrLf
txt = txt & vbCrLf
'txt = ""
'WScript.Echo Fichier
fso = CreateObject("Scripting.FileSystemObject")
NewFichier = fso.OpenTextFile(Fichier, 2, True)
NewFichier.Write(txt)
NewFichier.Close()
NewFichier = Nothing
fso = Nothing
End Sub
End Class |
Partager