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
| Dim fso,dossier ,sousDossier ,fichier,OutPut,Extension
Titre = "Recherche et Sauvegarde par extension"
Copyright = " Hackoo © 2013"
Set Ws = CreateObject("Wscript.Shell")
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(0, "Veuillez choisir un dossier ou bien un disque dur externe ou bien une clé USB "&vbcr&vbTab&vbTab&Copyright, 1, "c:\Programs")
If objFolder Is Nothing Then
WScript.Quit
End If
NomDossier = objFolder.Title
CheminDossier = objFolder.self.path
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dossier = fso.GetFolder(CheminDossier)
If Dossier.Size = 0 Then
MsgBox "Le Dossier " & CheminDossier & " est vide",16,"Dossier Vide"
WScript.Quit
End if
Set FSO = CreateObject("Scripting.FileSystemObject")
Extension = inputbox("Veuillez choisir le type extension à rechercher ","choix de l'extension à rechercher","pst")
If Extension="" Then WScript.Quit
'******************************fichier à copier*********************************
'choix du répertoire à recopier
'NomRep=inputbox("Veuillez choisir l'emplaçement pour rechercher les fichiers de type "&Extension&" ","choix du répertoire","c:\Logiciels")
'If NomRep = "" Then WScript.Quit
'If Left(NomRep,1)<> "\" Then NomRep = NomRep & "\"
MsgBox "Le répertoire Source de la Sauvegarde est : " & CheminDossier,64,Titre
'***************************ou effectuer la copie*******************************
Cible=CreateFolder(Extension)&"\"
MsgBox "Le répertoire Cible de la Sauvegarde est : " & Cible,64,Titre
'*******************************copie des Fichiers par leurs extensions*******************************
'Programme Principal
Scan CheminDossier
MsgBox "Sauvegarde Terminée ! ",64,Titre
'*****************************************************************************************************
Sub Scan(DossierEnCours)
'On Error Resume Next
Dim Dossier,SousDossier,Fichier,Cible
Cible=CreateFolder(Extension)&"\"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Dossier = fso.GetFolder(DossierEnCours)
'Recheche des Fichiers dans le dossier courant
For Each Fichier In Dossier.Files
If UCase(FSO.GetExtensionName(Fichier.Path)) = UCase(Extension) Then
fso.CopyFile Fichier,Cible
end if
Next
'Recherche des fichiers dans les Sous-Dossiers
For Each SousDossier In Dossier.SubFolders
Scan SousDossier 'Appel récursive de la même fonction
Next
End Sub
Function CreateFolder(name)
Set fso = CreateObject("Scripting.FileSystemObject")
Set sho = CreateObject("Wscript.Shell")
basefolder = sho.SpecialFolders("desktop") 'Creation du dossier dans le Bureau
Set bf = fso.GetFolder(basefolder)
CreateFolder = bf &"\"& name
If Not FSO.FolderExists(bf & "\" & name) Then
bf.subFolders.Add(UCase(name))
Else : Exit Function
End If
End Function |
Partager