Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1964to1968
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zips umbenennen, entpacken, Dateien entfernen, wieder packen

Zips umbenennen, entpacken, Dateien entfernen, wieder packen
09.02.2024 11:42:31
Martin
Moin!

Ich habe verschiedene Zips im Haupt-Ordner (Z.B. Zip01.zip… Zip99.zip):

1. +++ die VBA-Excel umbenennt alle Zips in z.B. Ordner01.zip … Ordner99.zip,
2. --- dann SOLL alle, wie mit WinRAR mit rechter Maustaste, „Jedes Archiv in ein separates Verzeichnis entpacken“, (mit WinRAR ist 15 Mal schneller als mit Windows-VBA-Mittel),
3. +++ danach werde ich in jedem Ordner die unnötige Dateien löschen und
4. ---: Inhalt jeden Ordner (drin sind Ordner und Dateien) markieren und zu „Ordner_oben_Name.zip“ hinzufügen.
5. --- Jeder ZIP ausschneiden aus jedem Ordner, in Haupt-Ordner einfügen und Ordner01 … Ordner99 löschen, damit im Hauptordner wieder nur die neue Zips bleiben.

Nicht Ordner packen, sondern Inhalt des Ordners!
Tabelle werde ich beifügen. Zips bei mir heißen "UB42_M067UB420801202_UB42_120RB_777_1239002.zip" (777, 778, 779...)

Ich habe schon wirklich alles ausprobiert und überall gesucht, aber ich schaffe es nicht.

Vielen Dank und viel Glück in deinem Leben!!!

https://www.herber.de/bbs/user/166935.xlsm

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zips umbenennen, entpacken, Dateien entfernen, wieder packen
09.02.2024 12:15:11
Yal
Hallo Martin,

hmm... VBA in Excel sollte man eher für Excel-relevante Steuerung verwenden. Für die Manipulation von Zip-Archive musste man prüfen, ob eine VBA API vorhanden ist. Ansonsten arbeitet man mit ShellExecute https://entwickler-ecke.de/topic_ShellExecute+und+WinRAR+Problem_114589,0.html aber das ist hässlich.

Ich würde persönlich eher mit PowerShell an der Sache rangehen. Man kann Datei aus einer Archiv löschen, ohne die Archiv zu entpacken/wiederpacken. z.B. hier https://administrator.de/forum/bestimmte-dateien-aus-unterverzeichnissen-verschieben-und-restliche-ordner-und-dateien-loeschen-265327.html

VG
Yal



Anzeige
AW: Zips umbenennen, entpacken, Dateien entfernen, wieder packen
09.02.2024 15:12:38
volti
Hallo Martin,

vorab, ich habe hier kein Rar.exe und kann daher nichts mit diesen Dateien testen.

Vielleicht reicht Dir diese Alternative hier ja auch, die auch nicht vorhandene Zielordner anlegt, oder ist das jetzt die langsame VBA-Lösung?
Ob rar-Dateien allerdings auch entzippt werden, weiß ich nicht.

Code:


Private Declare PtrSafe Function SHCreateDirectoryExW Lib "Shell32.dll" ( _ ByVal hwnd As LongPtr, ByVal pszPath As LongPtr, ByVal psa As LongPtr) As Long Sub ZipTest() EntpackeMeineZip "D:\MyZip.zip", "D:\MeinZipTestordner" End Sub Sub EntpackeMeineZip(ByVal vZipdatei As Variant, ByVal vVerz As Variant) ' Eine Zip-Datei in einen Ordner extrahieren If Dir$(vZipdatei) <> "" Then ' Zip-Datei vorhanden? If Right$(vVerz, 1) <> "\" Then vVerz = vVerz & "\" ' Ggf. ergänzen SHCreateDirectoryExW 0, StrPtr(vVerz), 0 ' Ggf. Ziel-Ordner erstellen With CreateObject("Scripting.FileSystemObject") vZipdatei = .GetAbsolutePathName(vZipdatei) vVerz = .GetAbsolutePathName(vVerz) End With With CreateObject("Shell.Application") .Namespace(vVerz).CopyHere .Namespace(vZipdatei).Items, 16 End With Else MsgBox "Datei '" & vZipdatei & "' ist nicht vorhanden!", vbCritical, "Auszippen" End If End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz
Anzeige
AW: Zips umbenennen, entpacken, Dateien entfernen, wieder packen
10.02.2024 16:45:28
volti
Ok Martin,

das sieht mir nach einem Größeren Akt aus. Da kann ich wohl nicht weiterhelfen und müsste mich da selbst erst mal einfinden.

Habe ich es richtig verstanden? Du möchtest aus allen Zip-Dateien, die sich aktuell im Hauptordner befinden, bestimmte Dateien in eine "Neue" große Zip überführen.
Und die überführten ggf. in den Zip im Hauptordner löschen?
Wer entscheidet, welche Dateien in die "Neue" große Zip eingebettet werden sollen.

Im Prinzip eine mögliche Vorgehensweise:
Ich würde ggf. alle Zip-Inhalte in eine Excel-Liste überführen und diese Liste dann manuell durchgehen und irgendwie einen Haken setzen für zu behaltene.

Dann diese Liste per VBA durchgehen und nur die gewünschten Dateien auszippen (umzippen geht wahrscheinlich nicht) und ggf. im Zip löschen.
Dann noch mal die Liste per VBA durchgehen und alle markierten Einträge in die neue Zip einzippen.

Für das Masseneinzippen dutzender Dateien in verschiedene Zip-Dateien nach Liste hatte ich vor 15 Jahren PKZip Commandliner benutzt. Das klappte schon mal gut.
Leider habe ich wahrscheinlich keine Beispiele mehr, das war beruflich für's Berichtswesen.

Möglicherweise bietet Rar.exe das ja auch über die DOS-Schalter an oder Yal's Empfehlung dafür nutzen.

Hier noch was zum Thema Zip-Inhalt auslesen:
https://www.clever-excel-forum.de/Thread-Zip-Dateien-Inhaltsverzeichnisse-auslesen-Dateien-lesen-incl-Zip-Inhalte

Gruß
Karl-Heinz
Anzeige
AW: Zips umbenennen, entpacken, Dateien entfernen, wieder packen
14.02.2024 10:13:00
Martin
Ich kann alle XX Zips auch manuell entpacken: STRG+A >> rechte Maustaste „Jedes Archiv in ein separates Verzeichnis entpacken“.
Automatischwäre natürlich schöner, aber es ist egal.
Wichtig ist, dass ich in jedem ausgepacktem Ordner die Dateien lösche, vielleicht noch was ändere und danach muss ich Inhalt jedes Ordner wieder zippen. Und genau das funktioniert nicht automatisch.
Zurzeit nur: jeden Ordner öffnen, Inhalt zum Zip einfügen, Zip ausschneiden und eine Ebene höher einfügen und den ungezippten Ordner löschen. Und so mit XX Ordnern.
Noch Mal: jeder Ordner hat XX-Anzahl Dateien; ich lösche z.B. 5 und packe alle gebliebene wider in Zip. Wie kann man diese alle zips wider aus jedem Ordner rausholen?
Berg.zip in Haupt-Ordner.
1. Berg.zip >> entpacken nach "Berg"-Ordner (nach Möglichkeit Berg.zip sofort löschen).
2. "Berg"-Ordner-Inhalt wieder zippen. Drin erscheint wieder "Berg.zip".
3. "Berg.zip" auschneiden und oben einfügen. Den alten Berg.zip überschreiben (oder früher schon gelöscht).
4. "Berg"-Ordner jetzt auch löschen.
Berg.zip neu wieder in Haupt-Ordner.

Klingt einfach, wenn man weis, wie man es macht. Estoy débil
Anzeige
AW: Zips umbenennen, entpacken, Dateien entfernen, wieder packen
10.02.2024 16:03:08
Martin
... mit WinRAR mit rechter Maustaste, „Jedes Archiv in ein separates Verzeichnis entpacken - das ist auch schnell und das leinste Problem. Es geht auch recht schnell manuell.
Aber die Dateien wieder manuell zu zippen - das ist das größte Problem und hier sehe ich leider keine Lösung.
Wichtig:
4. ---: Inhalt jeden Ordner (drin sind Ordner und Dateien) markieren und zu „Ordner_oben_Name.zip“ hinzufügen.
5. --- Jeder ZIP ausschneiden aus jedem Ordner, in Haupt-Ordner einfügen und Ordner01 … Ordner99 löschen, damit im Hauptordner wieder nur die neue Zips bleiben.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige