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
viele Archive in jeweiliges Verzeichnis entpacken
Moderators: white, Hacker, 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
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
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.
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.
wie ausgewählte Dateien an Konsole übergeben?
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.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
@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
)
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