pascals
Goto Top

Unbestimmte Anzahl von Zip Dateien entpacken

Hallo zusammen,

ich möchte gepackte txt-Dateien per Batch entpacken und in eine Gesamt.txt kopieren.Das erstellen der Gesamt.txt stellt kein Problem dar.
Auch das entpacken hat bisher immer funktioniert. Allerdings habe ich bisher immer vordefinierte Dateinamen gehabt.

Nun kommt erschwerend hinzu, dass die Zip Dateien sich in Dateinamen und Anzahl immer unterscheiden.

Ich habe mir überlegt, per batch eine Textdatei erstellen zu lassen, die die Dateinamen der zu entpackenden Dateien beinhaltet.
Das hat soweit auch funktoniert, jedoch bin ich daran gescheitert, diese Dateiliste in die neue Batchdatei einzuarbeiten.

Vielleicht kann mir jemand einen Tipp geben?

Zum entpacken nutze ich übrigens FILZIP.


Vorab schonmal vielen Dank für Eure Hilfe.

Viele Grüße
Pascal

Content-Key: 104198

Url: https://administrator.de/contentid/104198

Printed on: April 25, 2024 at 12:04 o'clock

Member: marmar
marmar Dec 16, 2008 at 10:48:35 (UTC)
Goto Top
wie wärs denn mit

<entpackbefehl> *.zip

?
schon mal probiert ? funktionierts ?
Member: PascalS
PascalS Dec 16, 2008 at 10:56:11 (UTC)
Goto Top
Hi marmar,

ja, klar, das war auch meiner erster Gedanke.
Hat aber leider so nicht funktioniert. Hat immer zu einer "Access violation" Fehlermeldung geführt...
Scheinbar braucht das Filzip Programm immer die exakten Angaben zu den Dateinamen.

Viele Grüße
Pascal
Member: NetWolf
NetWolf Dec 16, 2008 at 11:32:43 (UTC)
Goto Top
Hi Pascal,

verwende mal 7ZIP das ist imho besser


Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)
Member: PascalS
PascalS Dec 16, 2008 at 12:39:53 (UTC)
Goto Top
Hallo Wolfgang,

danke für den Tipp.

Leider muss ich mit Filzip auskommen, da das Verzeichnis auf unserem Server liegt und auch von anderen Rechnern darauf zugegriffen werden soll.
Haben leider alle nur Filzip...

Kann man denn die Dateiliste irgendwie als Variable in der Batch Datei einsetzen?

Gruß
Pascal
Mitglied: 64748
64748 Dec 16, 2008 at 13:13:46 (UTC)
Goto Top
Hallo,

echo off
for /F %%f in (batchdateien.txt) do echo %%f 
damit durchläuft die Variable f alle Zeilen in der Datei batchdateien.txt.
Anstatt echo musst Du Dein Zip-Programm einsetzten.

Markus
Member: PascalS
PascalS Dec 16, 2008 at 14:48:41 (UTC)
Goto Top
Hallo Markus,

vielen Dank, das ist genau das, was ich gesucht habe. Das Programm durchläuft nun alle Dateinamen.

Allerdings bekomme ich nun die Fehlermeldung "unable to create directory" ausgegeben?

An was könnte das denn liegen?

Viele Grüße
Pascal
Mitglied: 60730
60730 Dec 16, 2008 at 17:58:31 (UTC)
Goto Top
Servus,

verwende mal 7ZIP das ist imho besser

da das Verzeichnis auf unserem Server liegt und auch von anderen Rechnern darauf zugegriffen werden soll.
Haben leider alle nur Filzip...

Das ist dann doch "Jacke wie Hose" - 7zip ist nicht nur IMHO besser - sondern garantiert.
Und wenn das Script eh "hart" verdrahtet auf dem Server liegt (welches überhaupt) wer hindert dich, die zum ausführen von 7Zip benötigten Dateien irgendwo auf dem Server zu "kopieren" - diese 7Z.exe genauso hart im Script zu hinterlegen?
Das Programm durchläuft nun alle Dateinamen.
Hast du eventuell
for /F "%%f" in (batchdateien.txt) do echo "%%f"
probiert?

Und wegen deinem Script, wie stellst du sicher, das die Dateiliste auch richtig sortiert ausgegeben wird
PS: 7Zip kann nicht nur entpacken face-wink

Gruß
Member: PascalS
PascalS Dec 17, 2008 at 09:57:15 (UTC)
Goto Top
Hallo Timo,

also ich habe es nun soweit mit FilZip hinbekommen.

Die Befehlszeile lautet nun wie folgt:


for /F %%f in (Outlook_Export.txt) do C:\Programme\Filzip\filzip.exe -e "Pfadangabe\%%f"

Nun habe ich das Problem, dass die Ziparchive alle unterschiedlich heißen, aber die Textdateien, die in den Ziparchiven enthalten sind alle den gleichen Dateinamen haben.
Das heisst, die Batchdatei überscheibt immer wieder die zuvor entpackte Datei und ich habe am Ende nur eine entpackte Datei.

Kann ich nun die zu entpackenden Dateien schon während des Packvorgangs mit einer laufenden Nummer zwischen Dateinamen und Dateiendung versehen?

Viele Grüße
pascal
Mitglied: 60730
60730 Dec 17, 2008 at 14:05:28 (UTC)
Goto Top
Servus,

Kann ich nun die zu entpackenden Dateien schon während des Packvorgangs mit einer laufenden Nummer zwischen Dateinamen und Dateiendung versehen?

Ganz genau diesen Punkt sprach ich mit dem Satz:
PS: 7Zip kann nicht nur entpacken face-wink
an face-wink

"Ich" benutze 7zip und daher kann ich es.
Wie es mit deinem Packer aussieht - kann ich dir nicht sagen, aber nochmal:

Und wenn das Script eh "hart" verdrahtet auf dem Server liegt (welches überhaupt)

Damit sprach ich nicht die eine Zeile, sondern das gesamte Skript an.

Gerne könnte ich das rad "neu" erfinden und dir meinen Weg zeigen, aber genauso kann ich dir auch "lücken" und verbeserungen in deinem Script zeigen/geben.

Gruß
Member: PascalS
PascalS Dec 17, 2008 at 14:12:31 (UTC)
Goto Top
Hi,

ich werde das mit dem 7Zip mal abklären, vielleicht bekomme ich es ja irgendwie installiert.

Bisher gibt es ja nur diese eine Zeile. Den Rest wollte ich dann aufsetzen, wenn das mit dem entpacken so funktioniert....

Gruß
Member: PascalS
PascalS Sep 26, 2011 at 12:51:15 (UTC)
Goto Top
Hallo zusammen,

nach nunmehr fast 3 Jahren hat mich dieses Problem wider eingeholt.
Kein 7zip mehr, nur noch Filzip!

Alles funktioniert wunderbar, bis zu der Stelle, ab der Filzip die .txt Dateien beim entpacken immer wieder durch gleichnamige Dateien ersetzt:

for /F %%f in (Outlook_Export.txt) do C:\Programme\Filzip\filzip.exe -e "M:\Dateipfad\Outlook_Export\%%f"

Hat jemand eine Idee, wie ich in diese Zeile einen Zähler einbauen kann?
Der Name der Dateien ist mit relativ egal, da diese im Anschluss sowieso in eine große Gesamtdatei kopiert werden.

Danke und Grüße
Pascal