REM ============================================ REM Fichier : dezipper_tout.vbs REM Desc : décompresser tous les fichiers .zip présents dans le dossier courant dans un dossier propre REM ============================================ Option Explicit Const BAT_FILE = "dezipper_tout_.bats" Creer_Bat_pour_Dezipper_les_Zip Sub Creer_Bat_pour_Dezipper_les_Zip REM ======================================== REM = Sauvegarde un texte dans un fichier REM ======================================== Dim oFSO, f, d, NomFichier, NomFichierSansExtension, sEcrire, Extension, n Set oFSO = CreateObject("Scripting.FileSystemObject") Set f = oFSO.CreateTextFile(BAT_FILE) sEcrire = _ "@echo off" & vbcrlf & _ "REM ***************************" & vbcrlf & _ "REM * Fichier " & BAT_FILE & " créé par " & Wscript.ScriptName & vbcrlf & _ "REM * (" & Now & ")" & vbcrlf & _ "REM ***************************" & vbcrlf For Each d in oFSO.GetFolder(".").Files 'ex : 'si d = P:\_\p\devtests\zip\fichier.zip 'alors d.Name = fichier.zip ' oFSO.GetBaseName(d)= fichier NomFichier = d.Name NomFichierSansExtension = oFSO.GetBaseName(d) Extension = LCase(oFSO.GetExtensionName(d)) If Extension = "zip" Then sEcrire = _ sEcrire & vbcrlf & _ "md " & NomFichierSansExtension & vbcrlf & _ "cd " & NomFichierSansExtension & vbcrlf & _ "7z x ""..\" & NomFichier & """" & vbcrlf & _ "cd .." & vbcrlf & _ "" n = n + 1 End If Next SaveToFile sEcrire, BAT_FILE Wscript.Echo _ "Le fichier " & BAT_FILE & " a été créé pour dézipper " & n & " fichiers zip." & vbcrlf & _ "Modifiez-le éventuellement, renommez-le en .bat et lancez-le." & vbcrlf & _ "" & vbcrlf & _ "Attention, vous avez besoin de 7z.exe pour dézipper vos fichiers." End Sub Function Check(sPath) REM ================================================= REM = REM ================================================= If Right(sPath, 1) = "\" Then Check = sPath Else Check = sPath & "\" End Function Sub SaveToFile (sTexte, sFile) REM ======================================== REM = Sauvegarde un texte dans un fichier REM ======================================== Dim oFSO, f Set oFSO = CreateObject("Scripting.FileSystemObject") 'Wscript.Echo sTexte Set f = oFSO.CreateTextFile(sFile) f.Write sTexte f.Close Set f = Nothing Set oFSO = Nothing End Sub