69304
Sep 29, 2008, updated at Oct 01, 2008 (UTC)
8279
12
0
VB2008 - Backup eines kopletten Ordners inkl Subdirs - Zip und Dateiname aktuelles Datum
Hallo!
Ich bin gerade dabei ein VB-Command-Skript zu schreiben, was folgendes machen soll:
- Vorgegebenes Verzeichnis (inklusive Unterverzeichnisse) als Zip packen
- Dateiname des Zips soll ein vorgegebener String + Datum sein (z.B.: firma_20080929.zip)
- Zip soll an eine bestimmte Stelle kopiert werden (z.B.: C:\Backup\firma_20080929.zip)
An sich kein Problem - aber wie funktionier das mit dem Zip?
Gibts ja irgendwelche Routinen, oder muss ich es über ein externes Programm machen? Eigentlich hat ja Windows XP eine eingebaute Zip-Funktion, kann man die irgedwie nutzen?
mfg,
René.
Ich bin gerade dabei ein VB-Command-Skript zu schreiben, was folgendes machen soll:
- Vorgegebenes Verzeichnis (inklusive Unterverzeichnisse) als Zip packen
- Dateiname des Zips soll ein vorgegebener String + Datum sein (z.B.: firma_20080929.zip)
- Zip soll an eine bestimmte Stelle kopiert werden (z.B.: C:\Backup\firma_20080929.zip)
An sich kein Problem - aber wie funktionier das mit dem Zip?
Gibts ja irgendwelche Routinen, oder muss ich es über ein externes Programm machen? Eigentlich hat ja Windows XP eine eingebaute Zip-Funktion, kann man die irgedwie nutzen?
mfg,
René.
Please also mark the comments that contributed to the solution of the article
Content-Key: 98035
Url: https://administrator.de/contentid/98035
Printed on: April 24, 2024 at 14:04 o'clock
12 Comments
Latest comment
Du kannst zusätzlich das Programm "GZIP" (http://www.gzip.org/) benutzen.
Hierbei müssen lediglich die enthaltenen .exe-Dateien ("gunzip.exe", "gzip.exe", "zcat.exe") in das Verzeichnis
"C:\WINDOWS\" (%windir%) kopiert/verschoben werden.
Dann kannst Du es per Kommandozeile aufrufen, bzw. in Deinem Script benutzen.
Optionen kannst Du per Manpage beziehungsweise "gzip -h".
Benutze das ganze für ein Windows-Logrotate und es funktioniert super.
Hierbei müssen lediglich die enthaltenen .exe-Dateien ("gunzip.exe", "gzip.exe", "zcat.exe") in das Verzeichnis
"C:\WINDOWS\" (%windir%) kopiert/verschoben werden.
Dann kannst Du es per Kommandozeile aufrufen, bzw. in Deinem Script benutzen.
Optionen kannst Du per Manpage beziehungsweise "gzip -h".
Benutze das ganze für ein Windows-Logrotate und es funktioniert super.
Noch als Ergänzung: Nur mit Bordmitteln (ab XP) sollte es auch gehen: Natively zipping Files in VB.net
Grüße
bastla
Grüße
bastla
Hallo rbrixel!
Inzwischen habe ich es selbst getestet, und bei mir funktioniert es so für den Ordner "C:\lasernet\Huber100":
Grüße
bastla
Inzwischen habe ich es selbst getestet, und bei mir funktioniert es so für den Ordner "C:\lasernet\Huber100":
Private Sub CreateZipFile(ByVal Filename As String)
Dim Encoder As New System.Text.ASCIIEncoding
Dim Header As String = "PK" & Chr(5) & Chr(6)
Header = Header.PadRight(22, Chr(0))
My.Computer.FileSystem.WriteAllBytes(Filename, Encoder.GetBytes(Header), False)
End Sub
Private Sub ZipFile(ByVal Input As String, ByVal Filename As String)
Dim Shell As New Shell32.Shell
CreateZipFile(Filename)
Shell.NameSpace(Filename).CopyHere(Input)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim ZipInput As String= "C:\lasernet\Huber100"
Dim ZipDateiname As String = "C:\lasernet\huber100_20081001.zip"
ZipFile(ZipInput, ZipDateiname)
MsgBox("Datei " & ZipDateiname & " erstellt.")
End Sub
bastla