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