Top-Themen

Aktuelle Themen (A bis Z)

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, 7729 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 ..
Ähnliche Inhalte
Batch & Shell
Xcopy mit aktuellem Datum
gelöst Frage von deniska93Batch & Shell1 Kommentar

Hallo liebes Forum, kann mir einer von Euch zufällig ein xcopy Script erstellen? Kenne mich mit xcopy leider nicht ...

Microsoft Office
Aktuelles Datum in den USA
gelöst Frage von Latex78Microsoft Office5 Kommentare

Hi Leute, ich möchte mir gern das aktuelle Datum in den USA mit 7 Stunden Zeitverschiebung anzeigen lassen. Quasi: ...

Microsoft Office
Dateien mit dem aktuellen Datum Zählen
gelöst Frage von OlliMucMicrosoft Office3 Kommentare

Servus zusammen, ich hoffe sehr, dass mir mal wieder jemand helfen kann. Ich arbeite mit einem VBA-Makro bzw einer ...

Batch & Shell
Datum des Vormonats als Dateiname
gelöst Frage von n0cturneBatch & Shell2 Kommentare

Hallo Zusammen, ich habe ein Batch Skript, welches eine Datei erzeugt. Diese Datei soll den Namen "DATEV-JAHR-MONAT.csv" haben - ...

Neue Wissensbeiträge
Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 2 StundenMac OS X

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser ereichbar sind. Leider fehlt ...

Datenschutz

Weitere Inforamtionen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 9 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 10 StundenWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Microsoft Office

Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei

Anleitung von SarekHL vor 13 StundenMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1017 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...