Packprogramme unter Windows | ||||||||||||||||||||
Packprogramme können von Scripts benutzt werden, um Dateien platzsparend zu sichern. Für drei Packprogramme sollen hier die Möglichkeiten dargestellt werden, um sie mit dem Windows Scripting Host einzusetzen:
Natürlich gibt es noch viele andere Pack-Programme, die sich für
den Aufruf aus Skripts eignen. Auf DOS-Packer habe ich aus praktischen
Gründen verzichtet, denn warum soll man sich einen DOS-Packer installieren,
wenn man für die Handarbeit ohnehin einen Packer für Windows nimmt ? Wer packt am Besten ?Wenn WinRAR mehrere ähnliche Dateien packen soll und die Optionen 'Solid Archive', 'Multimedia Compression', 'Dictionary Size/Wörterbuchgröße' 1024 kB und als Kompressionsmethode 'beste' gewählt wurde, dann verkleinert WinRAR am besten. Bei einzelnen Dateien ist jedoch meist PowerArchiver am besten, wenn das Format CAB gewählt wird (es gibt zwei Unterformate, nämlich 'LZX' und 'MsZIP Type', aber das MicroSoft-Format ist erwartungsgemäß schlecht). Dieses CAB-Format wird übrigens auch von WinRAR und WinZIP geöffnet und entpackt - es gibt also keinen Grund, auf diese optimalen Packraten zu verzichten. Ein typisches Problem ist allerdings, daß mit wachsender Packrate auch die Geschwindigkeit der Packprogramme in den Keller geht. Der optimale KompromissWährend beim Einpacken höhere Packraten auch mehr Zeit benötigen, ist das Auspacken meist unabhängig von der Kompression - Ausnahme ist die 'Solid Archive' Option von WinRAR, weil hier über Dateigrenzen hinweg gepackt wird (ähnliche Dateien beanspruchen dadurch noch weniger Platz) und beim Auspacken erst einmal wieder alle Dateien entpackt werden müssen, um die vom Anwender gewünschte Datei herauszusuchen.
Praktisch kann das Packen die Verarbeitung sogar beschleunigen, wenn das
Speichermedium, auf dem die gepackte Datei liegt, wesentlich langsamer ist, als
der Entpacker. Typische Beispiele sind der Zugriff auf Bandlaufwerke oder WebServer
via Internet. Hinweis:Die Aussagen zu den Lizenzen entsprechen dem Stand der Erstellung dieses Artikels und sind ohne Gewähr. Für eigene Programme sollten die Lizenzbedingungen noch einmal in der aktuellsten Version überprüft werden. |
||||||||||||||||||||
Aufbau der Script-Zeile | ||||||||||||||||||||
Eine Script-Zeile für das Erstellen eines Archivs aus einer odere mehreren Dateien hat bei allen drei Packern prinzipiell den gleichen Aufbau:
|
||||||||||||||||||||
Optionen für's Einpacken | ||||||||||||||||||||
|
||||||||||||||||||||
Beispiele für Scripts |
erstellen einer ZIP-datei aus dem Verzeichnis 'C:\Eigene Dateien' mit PowerArchiver:
PackProgramm =.Run "C:\Programme\_tools\Filzip\Filzip.exe -a -rp "
BackupDatei = "E:\Backup " & Right("00" & (Year(Date) mod 100), 2)
BackupDatei = BackupDatei & "-" & Right("0" & Month(Date), 2)
BackupDatei = BackupDatei & "-" & Right("0" & Day(Date), 2)
CreateObject("WScript.Shell").Run PackProgramm & " " & BackupDatei" & " " & "C:\Eigene Dateien", 4, True
Die Variable BackupDatei
liefert einen Dateinamen, in dem
Jahr, Monat und Tag des Backups in der Form 'Backup jj-mm-tt' erscheinen, so dass
ältere Backup-Dateien nicht überschrieben werden und die Backups vom Windows-Explorer
korrekt sortiert werden.
Um mit PowerArciver CAB-Archive zu erstellen, muß lediglich die Endung ".CAB" an den Namen der Backup-Datei angehängt werden. Die 4. Zeile wäre also so zu ergänzen:
BackupDatei = BackupDatei & "-" & Right("0" & Day(Date), 2) & ".CAB"
Um mehrere Dateien / Verzeichnisse zu packen, muß der Run-Befehl entsprechend erweitert werden. Im folgenden Beispiel werden die Ordner 'C:\Eigene Dateien', 'C:\Windows\Local Settings' und 'C:\Windows\Anwendungsdaten' gepackt.
PackProgramm = """C:\Tools\PowerArchiver\POWERARC.EXE"" -a -c4 -s "
BackupDatei = "E:\Backup " & Right("00" & (Year(Date) mod 100), 2) & "-" & Month(Date) & "-" & Day(Date)
CreateObject("WScript.Shell").Run PackProgramm & """" & BackupDatei """ ""C:\Eigene Dateien"" ""C:\Windows\Local Settings"" ""C:\Windows\Anwendungsdaten""", 4, True