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
|
Option Explicit
'/////////////////////////// CONSTANTES //////////////////////
'Répertoire pour fichiers
Const LECTEUR_C = "C:"
Const LECTEUR_D = "D:"
Const REP_FACTURES = "M:\Cabinet\Comptabilité\2025\01-Factures\"
Const REP_COTIS = "M:\Cabinet\Comptabilité\2025\02-Cotisations-charges\"
Const REP_TELECHARGT = "C:\Users\antoi\Downloads\"
'Const REP_TRACES = "M:\Cabinet\"
'Chemins pour requêtes
'Const REP_REQ_SCAN ="'\\Cabinet\\_SCANS\\'"
Const REP_REQ_SCAN ="'\\Cabinet\\_SCANS\\TEST\\'"
Const REP_REQ_TELECHARGT ="'\\Users\\antoi\\Downloads\\'"
Const REP_REQ_PRO ="'\\Users\\antoi\\Downloads\\Professionnel\\'"
'Const REP_FACTURES = "M:\Cabinet\Comptabilit" & chr(233) & "\"
'Dim REP_FACTURES
'REP_FACTURES = "M:\Cabinet\Comptabilit" & chr(233) & "\"
'/////////////////////////// VARIABLES ///////////////////////
Dim fsot
Dim fichierLog
Dim Test
Dim Shell
Dim oShell
Dim env
Dim objWMIService
Dim colFiles
Dim strComputer
Dim objFile
Dim requete
Dim chemin
Dim repScan
Dim repTelechargement
Dim repPro
Dim repCopie
Dim repCible
Dim errOpeFile
'FIN DECLARATION DES VARIABLES
'/////////////////////////// PROCEDURES ///////////////////////////////////////
'******************************************
' Procédure d'ouverture du fichier de logs
'******************************************
Sub OuvertureLog ()
Dim repLog
Dim nomFichierLog
Dim monLog
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
Set fsot = WScript.CreateObject("Scripting.FileSystemObject")
'repLog = REP_TRACES
repLog = REP_TELECHARGT
nomFichierLog = "Log_Fichiers_EC.log"
MsgBox repLog & nomFichierLog
Set fichierLog = fsot.OpenTextFile(repLog & nomFichierLog, ForAppending, TristateTrue)
'monLog = Now & " - " & "Ouverture du fichier traces"
'fichierLog.WriteLine(monLog)
End sub
'******************************************
' Procédure d'écriture de log
'******************************************
Sub TracesLog (messageTrace)
Dim monLog
monLog = Now & " - " & messageTrace
fichierLog.WriteLine(monLog)
End Sub
'******************************************
' Procédure de dépalcement de fichiers
'******************************************
Sub DeplacerFichiers(collFichiers, repCible, Test)
Dim Proc
Proc = "DeplacerFichiers"
On Error Resume Next
Err.Clear
For Each objFile in collFichiers
'Wscript.Echo "Dossier => " & objFile.Drive & objFile.Path
'Wscript.Echo "Taille =>x " & objFile.FileSize & " Octets"
'Wscript.Echo "Nom => " & objFile.FileName & "." & objFile.Extension
TracesLog(Proc & " >>> Ficher : " & objFile.FileName & "." & objFile.Extension)
repCopie = repCible & objFile.FileName & "." & objFile.Extension
TracesLog(Proc & "Rep destination => " & repCopie)
If Test = False Then
errOpeFile = objFile.copy(repCopie, True)
TracesLog(Proc & "errOpeFile => " & errOpeFile)
if errOpeFile = 0 then
objFile.delete
TracesLog(Proc & "Suppression du fichier")
Else
TracesLog(Proc & "Erreur n° : " & Err.Number & " - " & Err.Description)
End if
Else
End if
Next
End Sub
'/////////////////////////// FONCTIONS ////////////////////////////////////////
'******************************************************************************
' *** DEBUT DU SCRIPT ***
'******************************************************************************
'*** Configuration des variables d'environnement
OuvertureLog()
TracesLog(" ///// DEMARRAGE DU SCRIPT ///// ")
Set Shell = CreateObject("wscript.Shell")
Set env = Shell.environment("Process")
strComputer = env.Item("Computername")
'\root\cimv2 = namespace (BDD logique) contenant des groupes de classes
'WQL = langage d'interrogation de type SQL modifié ; interroge des classes et renvoie des classes
set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
'FICHIERS LOYER, URSSAF
'****************************
TracesLog("DEBUT TRAITEMENT FICHERS LOYER, URSSAF")
repScan = REP_REQ_SCAN
requete = "Select * from CIM_DataFile Where Drive = 'D:' and Path = " & repScan & "and (FileName like '%SGA Loyer%' OR FileName like '%URSSAF%')"
TracesLog("Requête : " & requete)
set colFiles = objWMIService.ExecQuery (requete)
'Traitement en lien avec l'encodage et les accents le script est en UTF8 et window en windows 1250 (chr(233) = "é"
chemin = Replace(REP_COTIS,"é",chr(233))
TracesLog("chemin = " & chemin)
DeplacerFichiers colFiles, chemin, False
'FICHIERS FACTURES
'*****************
TracesLog("DEBUT TRAITEMENT FICHERS FACTURES : REPERTOIRE TELECHARGEMENT")
repScan = REP_REQ_TELECHARGT
requete = "Select * from CIM_DataFile Where Drive = 'D:' and Path = " & repScan & "and FileName like '% Facture%'"
TracesLog("Requête : " & requete)
set colFiles = objWMIService.ExecQuery (requete)
'Traitement en lien avec l'encodage et les accents le script est en UTF8 et window en windows 1250 (chr(233) = "é"
chemin = Replace(REP_FACTURES,"é",chr(233))
TracesLog("chemin = " & chemin)
DeplacerFichiers colFiles, chemin, False
TracesLog("DEBUT TRAITEMENT FICHERS FACTURES : RÉPERTOIRE _SCANS")
repScan = REP_REQ_SCAN
requete = "Select * from CIM_DataFile Where Drive = 'D:' and Path = " & repScan & "and FileName like '% Facture%'"
TracesLog("Requête : " & requete)
set colFiles = objWMIService.ExecQuery (requete)
TracesLog("chemin = " & chemin)
DeplacerFichiers colFiles, chemin, False
' Destruction des objets
Set Shell = Nothing
Set env = Nothing
'///////////////////////////////// FIN DU SCRIPT /////////////////////////////
TracesLog(" ///// FIN DU SCRIPT //////")
TracesLog(" ***")
MsgBox "Fin du script !", vbOKOnly + vbInformation, "Informations"
Set fsot = Nothing
Set oShell = WScript.CreateObject ("WScript.Shell")
'In VBScript, string literals are surrounded by double quotes
oShell.run """%ProgramFiles%\Notepad++\notepad++.exe ""C:\Users\antoi\Downloads\Log_Fichiers_EC.log"" "
Set oShell = Nothing
WScript.Quit |
Partager