viele Archive in jeweiliges Verzeichnis entpacken

German support forum

Moderators: white, Hacker, Stefan2

Post Reply
Geigolino
Junior Member
Junior Member
Posts: 55
Joined: 2005-10-24, 14:16 UTC
Location: Markneukirchen

viele Archive in jeweiliges Verzeichnis entpacken

Post by *Geigolino »

Hallo!

Wie kann ich mehrere (viele) gepackte Dateien, in die verschiedenen Verzeichnisse entpacken lassen, in denen die Archive liegen? Ich möchte also rekursiv entpacken.

Die Archive lasse ich entweder per Suche z.B. *.gz oder mit Strg + B und benutzerdefinierte Ansicht "*.gz" in einem Fenster angezeigen.

Danke für jede Hilfe

Gruß

Geigolino
User avatar
Stefan2
Power Member
Power Member
Posts: 4133
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

Zum Beispiel folgendermaßen:

Teste erst mal mit zwei, drei Beispiel-Ordner !!!, welche du dir vorher kopiert hast (oder habe ein Backup)

Besorge dir ein Kommandozeilenprogramm wie 7-zip.
Mach dich mit der Syntax vertraut. "x", "e", "x -o", "-y"

Meiner Meinung nach sollte das Folgende funktionieren:

- öffne eine DOS-Box
- navigiere in den top-level "Hauptordner"
- kopiere oder tippe den folgenden Befehl ein:
for /F "tokens=*" %A in ('dir /B /S *.gz') DO @ECHO "D:\rive\Pfad zu\7z.exe" e "%A" -y



Anmerkungen:

# zum "scharf schalten" dieses Befehls entferne das Wort 'ECHO'.

# die '-y' Option von 7-zip erlaubt das überschreiben vorhandener Dateien. Ohne das '-y' wird nachgefragt.

# ohne den '/S' Switch des DIR-Befehls (arbeite nur im aktuellen Ordner) sollte man in der Ausgabe noch den Pfad angeben:
for /F "tokens=*" %A in ('dir /B *.gz') DO @ECHO "D:\rive\Pfad zu\7z.exe" e "%CD%\%A" -y






Oder warte für andere Vorschläge.
Oder such auch mal im Forum, zB
viewtopic.php?t=18882&highlight=suche+archive+entpacken



HTH
Geigolino
Junior Member
Junior Member
Posts: 55
Joined: 2005-10-24, 14:16 UTC
Location: Markneukirchen

Post by *Geigolino »

Hallo Stefan,

Danke erst mal, ich hatte aber eigentlich gehofft, TC könnte das mit Bordmitteln erledigen. Hm.

Wenn ich mich für Deine Lösung erwärmen kann, wie übergebe ich denn da die Auswahl aus dem TC-Fenster an 7-ZIP in der DOS-Box, per drag 'n drop?

Gruß

Geigolino
User avatar
Stefan2
Power Member
Power Member
Posts: 4133
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

VON:
D:\testdateien\Archive\Ordner Eins\ONE\RenamePerl.tar.gz
D:\testdateien\Archive\Ordner Zwei\ZWEI TWO\CMD Tools TWO.tar.gz


ZU:
D:\testdateien\Archive\Ordner Eins\ONE\RenamePerl.tar
D:\testdateien\Archive\Ordner Eins\ONE\RenamePerl.tar.gz
D:\testdateien\Archive\Ordner Zwei\ZWEI TWO\CMD Tools TWO.tar
D:\testdateien\Archive\Ordner Zwei\ZWEI TWO\CMD Tools TWO.tar.gz


- - -


TC-intern mittels "Suche *.gz und Anwenden" komme ich nicht weiter.


- - -

Eine einfache Lösung ist die folgende mit 7-zip und seinen Parametern in blauer Farbe.

Der 'e' Parameter entpack ohne gespeicherte Pfade,
im aktuellen Ordner..., also muss man immer in diesen Ordner wechseln.
(das mit dem '-o' Parameter habe ich nicht hinbekommen)




Erstelle einen Button (oder ein user defined commando mit der Möglichkeit eines Tastaturkürzels)

Befehl=PowerShell -NoExit
Parameter=[face=timesnewroman]TYPE '%L'|ForEach{GCI $_ -rec *.gz|ForEach{"""`n- - -`n`nProcessing: $_""";CD (Split-Path $_.FullName);"""In folder: $PWD"""; D:\rive\PfadOhneLeerzeichen\7za.exe e $_.FullName -y}}[/face]
Startpfad=
Icon=PowerShell
Tooltip=PowerShell - Finde GZ-Dateien und entpacke im Ordner

(Der Parameter ist eine lange Zeile. Der 7zip '-y' Parameter überschreibt ohne Nachfrage, der %L Parameter ist ein TC-interner)




Dann wähle alle gewünschten Top-level Ordner und führe das neue Kommando aus.


Das Kommando such in allen Unterordnern der ausgewählten Top-level Ordner nach *.gz-Dateien, wechselt dann in dessen Ordner und ruft 7zip auf.



Sollte funktionieren?
Falls Ja kannst du den PowerShell Parameter ' -NoExit ' entfernen.
User avatar
Calamus
Junior Member
Junior Member
Posts: 13
Joined: 2016-08-14, 15:36 UTC

Post by *Calamus »

Schau dir mal den Multi Unpacker an:

https://ger.download-org.com/multi-unpacker
Gruß Uwe
#232141 Single user licence
Geigolino
Junior Member
Junior Member
Posts: 55
Joined: 2005-10-24, 14:16 UTC
Location: Markneukirchen

wie ausgewählte Dateien an Konsole übergeben?

Post by *Geigolino »

Hallo!

@Calamus/ Uwe
Danke für den Tip, aber ich muß .gz- Archive entpacken. Der Multi Unpacker kann das nicht.

@Stefan2
Danke. Aber 7-zip, ein Script und extra noch Powershell, so hatte ich mir das nicht gedacht. Außerdem kann ich nicht auswählen.

Mit 7-zip kann ich ein im Netz gefundenes Script nutzen, um alle gz- Archive aller Unterodner eines Verzeichnisses in die entsprechenden Verzeichnisse entpacken zu lassen.

Code: Select all

FOR /D /r %%F in ("*") DO (
    pushd %CD%
    cd %%F
        FOR %%X in (*.gz) DO (
            "C:\Program Files\7-zip\7z.exe" x "%%X"
        )
    popd
)
Das geht gut, aber ich kann eben nicht selektieren...

Mir schwebt immer noch vor, nur alle markierten Archive aus einem Fenster zu übergeben. Aber das bekomme ich selber garantiert nicht hin. Schade.

Vielleicht kann mir da noch jemand auf die Sprünge helfen? Wäre toll!

Gruß

Geigolino
Post Reply