Batch Script für automatisches Zippen eines Ordners
Hallo Zusammen
Da ich nicht so gut im scripten bin und ich ein Script erstellen muss habe ich nun eine Frage an euch..
Kann mir jemand von euch ein Script erstellen, welches einen gewünschten Ordner automatisch zippt. Ebenfalls sollte dazu der Quell und Zielpfad angegeben werden können und eine Funktion welche alles zippt was älter als ... ist.
Vielen Dank im Vorraus!
-Kevin
Da ich nicht so gut im scripten bin und ich ein Script erstellen muss habe ich nun eine Frage an euch..
Kann mir jemand von euch ein Script erstellen, welches einen gewünschten Ordner automatisch zippt. Ebenfalls sollte dazu der Quell und Zielpfad angegeben werden können und eine Funktion welche alles zippt was älter als ... ist.
Vielen Dank im Vorraus!
-Kevin
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 563730
Url: https://administrator.de/forum/batch-script-fuer-automatisches-zippen-eines-ordners-563730.html
Ausgedruckt am: 21.04.2025 um 11:04 Uhr
7 Kommentare
Neuester Kommentar
Zitat von @KevinMeister:
Kann mir jemand von euch ein Script erstellen, welches einen gewünschten Ordner automatisch zippt. Ebenfalls sollte dazu der Quell und Zielpfad angegeben werden können und eine Funktion welche alles zippt was älter als ... ist.
Kann mir jemand von euch ein Script erstellen, welches einen gewünschten Ordner automatisch zippt. Ebenfalls sollte dazu der Quell und Zielpfad angegeben werden können und eine Funktion welche alles zippt was älter als ... ist.
Was heißt "angegeben"? Fest in der Batch integriert, oder jedes Mal abgefragt? Wenn jedes Mal abgefragt, warum dann überhaupt eine Batch und nicht der normale Weg?
(Schau sonst mal hier)
Zitat von @KevinMeister:
Im Auftrag steht, dass dies jedesmal abgefragt werden soll.. Denke die Batch ist halt einfacher als wenn man jedesmal den normalen Weg braucht
Im Auftrag steht, dass dies jedesmal abgefragt werden soll.. Denke die Batch ist halt einfacher als wenn man jedesmal den normalen Weg braucht
Und das ganze mit dem in Windows intergrierten ZIP? Oder mit 7ZIP oder WinRAR, die sind da deutlich flexibler.
Moin,
ich benutze folgendes Script:
Du musst Dir nur den Commandline-Packer von 7-zip downloaden.
ich benutze folgendes Script:
' Backup folder using 7-Zip
' Written by Steve Allison 2014 - steve@allison.im
Dim fso, rs, shell
' File System Object
Set fso = CreateObject("Scripting.FileSystemObject")
' RecordSet
Set rs = CreateObject("Ador.Recordset")
' Shell
Set shell = CreateObject("WScript.Shell")
Const adVarChar = 200
Const adDate = 7
srcFolder="Quellordnerpfad"
dstFolder="Zielordnerpfad"
backupName="backup"
zipEXE="PfadZu\7za.exe"
' Number of files to keep
iNum = 15000
' Get the date in the correct order. Why does vbscript suck so hard at date formatting?
Function getDateString()
d = ZeroPad(Day(Now()), 2)
m = ZeroPad(Month(Now()), 2)
y = Year(Now())
getDateString = y & m & d
End Function
' No printf() in VBScript it seems
Function ZeroPad(int, length)
If Len(int) < length Then
ZeroPad = Right(String(length, "0") & int, length)
Else
ZeroPad = int
End If
End Function
' Sanity checking
If Not fso.FolderExists(srcFolder) Then
Wscript.Echo "Aborted. Source folder does not exist: " & srcFolder
Wscript.Quit
End If
If Not fso.FolderExists(dstFolder) Then
Wscript.Echo "Aborted. Destination folder does not exist: " & dstFolder
Wscript.Quit
End If
If Not fso.FileExists(zipEXE) Then
Wscript.Echo "Aborted. 7-Zip program does not exist: " & zipEXE
Wscript.Quit
End If
' Create suffix of date-time
backupFileDate = getDateString() & "-" & replace(FormatDateTime(now,4),":","")
' File extension
backupFileExt = ".7z"
' Backup path without extension
backupFilePre = dstFolder & "\" & backupName & "_" & backupFileDate
' Full backup path
backupFile = backupFilePre & backupFileExt
' More sanity checking
n = 1
Do While fso.FileExists(backupFile)
' Add integeer to file, loop until it doesn't already exist
backupFile = backupFilePre & "_" & ZeroPad(n, 2) & backupFileExt
n = n + 1
Loop
'''' Zip Source Folder
' Create shell command
shCommand = """" & zipEXE & """ a -r """ & backupFile & """"
' Change to source directory
shell.CurrentDirectory = srcFolder & "/"
' Run 7-Zip in shell
shVal = shell.Run(shCommand,4,true)
'WScript.Echo shCommand
' Check 7-Zip exit code
If shVal > 1 Then
Wscript.Echo "7-Zip failed with error code: " & shVal
Wscript.Quit
End If
' Wscript.Echo "Backup complete at " & backupFile
Du musst Dir nur den Commandline-Packer von 7-zip downloaden.
Dann hat He-Man Dir ja schon die richtige Antwort gegeben. Ich arbeite eher mit RAR, das ist aber kostenpflichtig.

7z downloaden, 7z.exe rauskopieren, folgender Befehl läuft super in cmd:
a = Verpacken | x = Entpacken
-aoa = Überschreiben
-p123 = Passwort ist 123
set /p quelle=Quellpfad:
set /p ziel=Zielpfad:
set /p zip=Name der Zipdatei:
7z.exe a -aoa -p123 "%ziel%\%zip%" "%quelle%\*" >nul
-aoa = Überschreiben
-p123 = Passwort ist 123
nul = Kein logging