automatisches entpacken im selben verzeichnis

German support forum

Moderators: white, Hacker, Stefan2

frogtie
Junior Member
Junior Member
Posts: 45
Joined: 2008-04-09, 13:15 UTC

automatisches entpacken im selben verzeichnis

Post by *frogtie »

Ich suche dringend eine Möglichkeit um hunderte gepackte Dateien in ihrem jeweiligen Verzeichnis zu entpacken.

Beispiel : Es existieren ca 100 Verzeichnisse mit völlig unterschiedlichen Verzeichnisnamen vor.
Darin befindet sich jeweils eine größere Anzahl gepackter Dateien (rar oder zip).

Das Ziel ist: Mit möglichst wenig Aufwand alle Dateien so zu entpacken, daß die entpackten Dateien sich hinterher im gleichen Verzeichnis wie bisher befinden, nur halt jetzt entpackt.

Ich hatte schon mal hier einen Thread eröffnet, allerdings funktioniert das alles nicht:
http://ghisler.ch/board/viewtopic.php?t=18882

Es gab mal hier: http://www.ghisler.ch/board/viewtopic.php?t=4932 ein VB-Script, mit dem per Suche ausgewählte Dateien automatisch ein Verzeichnis höher verschoben werden. Würde das nicht irgendwie umzuschreiben sein ? Nur das halt nicht verschoben, sondern ins gleiche Verzeichnis entpackt wird.
Leider habe ich Null Ahnung von VB.

frogtie
j
Member
Member
Posts: 124
Joined: 2009-04-13, 19:49 UTC

Post by *j »

Spontan hätte ich gedacht, dass man mit ALT+F7 einfach nach den Archiven sucht und das Ergebnis ins Panel übergibt.
Dann kann man ja eigentlich die Dateien mit ALT+F9 entpacken...
Mit einem leeren Zielpfad bei auspacken, sollte das Archiv eigentlich in das Verzeichnis dieses Archivs ausgepackt werden.

Das geht aber wohl nicht mit Ergebnislisten, wie es scheint.

Ein Bug?!
User avatar
Dalai
Power Member
Power Member
Posts: 9387
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Ich benutze für sowas WinRAR: Archive markieren, Kontextmenü aufrufen > Jedes Archiv in ein eigenes Verzeichnis entpacken. Ich hab bisher nicht versucht, das direkt im TC zu machen, weil ich eh immer WinRAR aufm Rechner hab.

MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
frogtie
Junior Member
Junior Member
Posts: 45
Joined: 2008-04-09, 13:15 UTC

Post by *frogtie »

Dalai wrote:Ich benutze für sowas WinRAR: Archive markieren, Kontextmenü aufrufen > Jedes Archiv in ein eigenes Verzeichnis entpacken. Ich hab bisher nicht versucht, das direkt im TC zu machen, weil ich eh immer WinRAR aufm Rechner hab.

MfG Dalai
Genau Dein Vorschlag führt ja nicht zum Ziel:
Nach Deiner Methode hätte ich hinterher "tausende" neue Verzeichnisse.
Ich muß aber "hinterher" die gleiche Verzeichnisstruktur haben wie vorher, nur das die gepackten Dateien in ihren jeweiligen Verzeichnissen jetzt zusätzlich entpackt vorliegen.
Tiggaa
Member
Member
Posts: 151
Joined: 2007-06-15, 21:27 UTC

Post by *Tiggaa »

Verständnisfrage: Sollen diese rar oder zip Dateien in den Verzeichnissen alle wahlos bzw. ohne eigenen Ordner in das jeweilige Verzeichnis in dem die zugrundeliegenden zip und rar liegen entpackt werden ?
Oder ist es nötig (um z.B. das gelöscht werden von doppelt vorhandener Dateien durch den Entpackvorgang zu vermeiden) diese in einen neu angelegten und jeweils dem rar oder zip Namen identisch benannten (Unter)Ordner auszupacken ?

Davon abgesehn beherrscht der TC mindestens genau dieselbe Funktion wie der Winrar. Sowohl (multiples) entpacken in im 2ten Fenster geöffneten Ziel/Wunschordner wie auch entpacken unter anlegen eines dem jeweiligen zip oder rar-Namen gleichen Ordners im Wunschordner.

Es ist zwar auch möglich sämtliche rar und zip Dateien die sich in einer Ordner-Unterordner Struktur oder sogar einer ganzen Partition befinden suchen zu lassen und diese dann in einem Rutsch mit den schon beschriebenen Optionen entpacken zu lassen.
Aber die gewünschte / gesuchte Option das gleich mehrere Herkunftstsordner auch bzw. wieder als die Zielordner genommen werden gibts meiner Meinung nach dabei nicht im TC. Ich habe bisher nur herausgefunden das der Zielordner limitiert ein einziger sein kann.
Die beschriebene Entpackmethode mit Anlegen eines der Benennung der zu entpackenden Datei identischen Ordnernamens (und dorthinein entpacken) funktioniert übrigens auch zuverlässig mit unverschlüsselten selbstentpackenden Exe Dateien .. nicht nur mit rar oder zip oder sonstigen handhabbaren Packformaten. Hab ich schon sehr schätzen gelernt beim entpacken der aus dem Netz gezogenen Treibersammlung für (m)ein neues Motherboard ;-)
User avatar
ZoSTeR
Power Member
Power Member
Posts: 1013
Joined: 2004-07-29, 11:00 UTC

Post by *ZoSTeR »

Folgendes als Entpack.cmd speichern:

Code: Select all

for /r . %%i in (*.zip) do 7z.exe e -o%%~di%%~pi %%i
Parallel dazu 7z.exe und 7z.dll.

Es werden nun sämtliche Zip-Dateien aus sämtlichen Unterordnern ins jeweilige Verzeichnis entpackt. Also nicht im Root-Verzeichnis ausführen!

Gehe von folgender Struktur aus:
C:\
- Archive\
- - ArchivOrdner01\Datei01.zip
- - ArchivOrdner02\Datei02.zip
usw

Die Batch also im Verzeichnis "Archive" ausführen.
frogtie
Junior Member
Junior Member
Posts: 45
Joined: 2008-04-09, 13:15 UTC

Post by *frogtie »

ZoSTeR, Du bist ne Granate.....

Danke !!

Das ganze funktioniert.

Nur noch eine Ergänzung: Wäre es möglich, das ganze so zu verfassen, daß sowohl *.zip, als auch *.rar entpackt werden ????

LG

frogtie
User avatar
norfie²
Power Member
Power Member
Posts: 986
Joined: 2006-02-10, 07:27 UTC

Post by *norfie² »

Wäre es möglich, das ganze so zu verfassen, daß sowohl *.zip, als auch *.rar entpackt werden ?

Code: Select all

for /r . %%i in (*.zip *.rar) do 7z.exe e -o%%~di%%~pi %%i
Allerdings bin ich mir nicht sicher, ob dies auch fuer Dateinamen mit Leerzeichen und/oder Sonderzeichen (äöüß âáà ...) funktioniert.
frogtie
Junior Member
Junior Member
Posts: 45
Joined: 2008-04-09, 13:15 UTC

Post by *frogtie »

herzlichen Dank,

ich bin verblüfft, woher Ihr das hier alles wisst.

Gibt es irgendwo eine Anleitung um solche Parameter-Wirrungen selber zu lernen ??

Wie dem auch sei, nochmals vielen Dank.
Ihr habt mir wirklich sehr geholfen, und viele viele Stunden Arbeit erspart.
User avatar
ZoSTeR
Power Member
Power Member
Posts: 1013
Joined: 2004-07-29, 11:00 UTC

Post by *ZoSTeR »

Freut mich, daß es funtioniert hat.
Der FOR-Befehl ist sowas wie die eierlegende Wollmilchsau unter den DOS-Befehlen.

Einfach nen CMD starten und sich den Hilfetext von "for /?" einverleiben. Die Dokumentation ist durchwachsen. Die sehr nützlichen %~xi Variablen sind aber gut erklärt.
Noch zum Verständnis: die doppelten %% sind nur in einer Batch-Datei nötig, nicht jedoch direkt unter CMD.
User avatar
norfie²
Power Member
Power Member
Posts: 986
Joined: 2006-02-10, 07:27 UTC

Post by *norfie² »

2frogtie
Infos dazu gibt es unter WXP im "Hilfe- und Supportcenter" (Windows-Startmenue: "Hilfe und Support") unter "Befehlszeilenreferenz A-Z". Interessant ist auch "Uebersicht ueber die Eingabeaufforderung"

2ZoSTeR
Der for-Befehl ist erst mit NT so maechtig geworden.
User avatar
Mikefield
Power Member
Power Member
Posts: 628
Joined: 2006-02-26, 19:13 UTC
Location: Oberursel, Germany HE

Post by *Mikefield »

ZoSTeR wrote:Folgendes als Entpack.cmd speichern:

Code: Select all

for /r . %%i in (*.zip) do 7z.exe e -o%%~di%%~pi %%i
Bekommt man das auch mit dem TC hin, daß man dierekt den internen Packer aufrufen kann?
Eigentlich blöde Frage, sonst müßte man ja nicht den 7z dafür nehmen, oder?
mf
Bankster - Word of the Year 2009
frogtie
Junior Member
Junior Member
Posts: 45
Joined: 2008-04-09, 13:15 UTC

Post by *frogtie »

Hmm.... jetzt stellt sich mir ein neues Problem:

Ist es mit 7z auch möglich, die entpackten Dateien nicht einfach im jeweiligen Unterverzeichnis abzulegen, sondern ein neues Unterverzeichnis mit dem gleichen Namen wie die gepackte Datei zu erstellen, und dann dort die gepackten Dateien reinzulegen ??

(Quasi ähnlich der TC-Funktion "Jedes Archiv in separates Verzeichnis...")

Danke im Voraus
User avatar
ZoSTeR
Power Member
Power Member
Posts: 1013
Joined: 2004-07-29, 11:00 UTC

Post by *ZoSTeR »

Dies kann man mit der Option -o* bewirken.

7-Zip Hilfe:
Syntax
-o{dir_path}

{dir_path}
This is the destination directory path. It's not required to end with a backslash. If you specify * in {dir_path}, 7-Zip substitutes that * character to archive name.

Oder in der Batch:

Code: Select all

for /r . %%i in (*.zip) do 7z.exe e -o%%~di%%~pi%%~ni %%i
frogtie
Junior Member
Junior Member
Posts: 45
Joined: 2008-04-09, 13:15 UTC

Post by *frogtie »

Sorry, mit -o* krieg ich das nicht hin.....

Die entpack.cmd blitzt dann nur kurz einmal auf, und nichts passiert.

Ich habe aber gerade die Lösung durch rumprobieren selber gefunden:

Die entpack.cmd muss folgenden Inhalt haben:
for /r . %%i in (*.zip *.rar) do 7z.exe e -o%%~di%%~pi%%~ni %%i
Dann läufts einwandfrei. Also nur der Anhang "~%%ni" ist die Lösung.
Post Reply