Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VB2008 - Backup eines kopletten Ordners inkl Subdirs - Zip und Dateiname aktuelles Datum

Frage Entwicklung VB for Applications

Mitglied: 69304

69304 (Level 1)

29.09.2008, aktualisiert 01.10.2008, 7674 Aufrufe, 12 Kommentare

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é.
Mitglied: Wolfsrudel
29.09.2008 um 10:07 Uhr
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.
Bitte warten ..
Mitglied: 69304
29.09.2008 um 11:18 Uhr
Gut, das mit dem GZip sieht soweit schon mal gut aus!

Aber wie "starte" ich die Anwendung aus VB heraus? Früher ging das glaub ich mit "Shell" oder so...
Bitte warten ..
Mitglied: 69304
29.09.2008 um 12:02 Uhr
OK, ich habs gefunden - aufruf mit Shell().

Aber ich bekomm beim ausführen dauernd:

01.
C:\vb2008\DataBackupLN\DataBackupLN\bin\Release>gzip -c -k -r -9 -v -S .zip C:\lasernet\Huber100 > C:\lasernet\huber.zip 
02.
gzip: C:\lasernet\Huber100: Permission denied
Hat da wer eine Idee?
Bitte warten ..
Mitglied: Wolfsrudel
29.09.2008 um 12:34 Uhr
Wie die Meldung schon besagt, da fehlen Berechtigungen... als was/wer (lokaler Admin, User, whatever) startest Du das Script? Welche Berechtigungen sind für den Ordner "Huber100" vergeben?
Bitte warten ..
Mitglied: 69304
29.09.2008 um 12:49 Uhr
Starten tue ich es als Domainen-User. Hab mal die Berechtigungen für den Ordner an alle User auf Vollzugriff geändert.

Egal, ob ich das Skript starte oder aus der CMD direkt gzip.exe - es kommt immer die Fehlermeldung, dass ich keine Berechtigung hätte (s.o.)
Bitte warten ..
Mitglied: 69304
29.09.2008 um 13:12 Uhr
Habs jetzt gelöst!

Statt GZip verwende ich nun 7Zip. Da brauch ich nur die 7za.exe, mehr nicht.

Aufrufen tue ich es wie folgt:

In VB2008:
01.
ExecuteBackup = "7za a -tzip -r " & ZipOutput & "\" & ZipDateiname & " " & ZipInput & "\*"
In CMD:
01.
C:\>7za a -tzip -r C:\lasernet\huber.zip C:\lasernet\Huber100\*
a = Add to Archiv
-tzip = Erweiterung als Zip, nicht als 7z
-r = Rekrusives Verhalten auf Ordner
%1 = Output-Archiv
%2 = Ordner (Mit * für alle Dateien)

Danke!
Bitte warten ..
Mitglied: bastla
29.09.2008 um 15:34 Uhr
Noch als Ergänzung: Nur mit Bordmitteln (ab XP) sollte es auch gehen: Natively zipping Files in VB.net

Grüße
bastla
Bitte warten ..
Mitglied: 69304
29.09.2008 um 16:49 Uhr
Hallo bastla!

Das hört sich natürlich auch nicht schlecht an - aber...

"Requires reference to shell32.dll in %windir%\system32"

...ähm wie mache ich das?
Bitte warten ..
Mitglied: bastla
29.09.2008 um 17:36 Uhr
Hallo rbrixel!

Über "Projekt / Verweis hinzufügen... / Durchsuchen" bzw besser: "Projekt / Verweis hinzufügen... / COM / Microsoft Shell Controls And Automation"

Grüße
bastla
Bitte warten ..
Mitglied: 69304
01.10.2008 um 09:55 Uhr
Also, habs jetzt soweit integriert. Läuft - ABER!

Es wird zwar eine Zip-Datei erzeugt, auch mit richtigem Dateiname, aber dieses Zip ist leer...

Die Funktion rufe ich wie folgt auf:

01.
ZipFile(ZipInput, ZipDateiname)
Wenn ich mir es ausgeben lasse per Breakpoint, erhalte ich:

01.
ZipFile(C:\lasernet\Huber100, C:\lasernet\huber100_20081001.zip)
Hat jemand die Funktion schon erfolgreich umsetzen können, oder jemand noch nen Tipp?

mfg,
René.
Bitte warten ..
Mitglied: bastla
01.10.2008 um 16:57 Uhr
Hallo rbrixel!

Inzwischen habe ich es selbst getestet, und bei mir funktioniert es so für den Ordner "C:\lasernet\Huber100":
01.
	Private Sub CreateZipFile(ByVal Filename As String) 
02.
		Dim Encoder As New System.Text.ASCIIEncoding 
03.
		Dim Header As String = "PK" & Chr(5) & Chr(6) 
04.
		Header = Header.PadRight(22, Chr(0)) 
05.
		My.Computer.FileSystem.WriteAllBytes(Filename, Encoder.GetBytes(Header), False) 
06.
	End Sub 
07.
	Private Sub ZipFile(ByVal Input As String, ByVal Filename As String) 
08.
		Dim Shell As New Shell32.Shell 
09.
		CreateZipFile(Filename) 
10.
		Shell.NameSpace(Filename).CopyHere(Input) 
11.
	End Sub 
12.
 
13.
	Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
14.
		Dim ZipInput As String= "C:\lasernet\Huber100" 
15.
		Dim ZipDateiname As String = "C:\lasernet\huber100_20081001.zip" 
16.
		ZipFile(ZipInput, ZipDateiname) 
17.
		MsgBox("Datei " & ZipDateiname & " erstellt.") 
18.
	End Sub
Grüße
bastla
Bitte warten ..
Mitglied: 0belixx
16.06.2011 um 10:55 Uhr
Hallo Leute

ich muss das mal wieder aufleben lassen.

Zu dem vorherigen habe ich mal ne Frage, hat jemand eine Idee wie man mehrere belibige Ordner "zippen" kann?

Danke 0belixx
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Hyper-V
Altaro VM Backup auf RDX

Frage von smeclnt zum Thema Hyper-V ...

Windows Server
gelöst BackupExec 2016 Fehler beim Backup von Windows 2016 (1)

Frage von Looser27 zum Thema Windows Server ...

Vmware
Veeam für VM Ware Backup Fehler (3)

Frage von JoergN1968 zum Thema Vmware ...

SAN, NAS, DAS
gelöst NAS RAID5 - RAID0 und Backup (7)

Frage von easy4breezy zum Thema SAN, NAS, DAS ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...