Ich lade manchmal Bibliotheken mit Dateien im folgenden Format herunter:
/library/sublib1/item1/item1.r01
/library/sublib1/item1/item1.r02
/library/sublib1/item1/item1.rar
/library/sublib1/item2/item2.r01
/library/sublib1/item2/item2.r02
/library/sublib1/item2/item2.rar
/library/sublib2/item1/item1.r01
/library/sublib2/item1/item1.r02
/library/sublib2/item1/item1.rar
/library/sublib2/item2/item2.r01
/library/sublib2/item2/item2.r02
/library/sublib2/item2/item2.rar
Um diese zu extrahieren, muss ich normalerweise in das Element gehen, das RAR extrahieren und dann alle RAR-Dateien in jedem Ordner löschen.
Gibt es ein Tool, das rekursiv durchgeht und dies für mich erledigt, wobei nur die extrahierten Dateien übrig bleiben?
Windows-Batch-Skript ist in Ordnung.
7-Zip ist ein kostenloser Dateiarchivierer. Es ist in der Lage, viele Formate zu extrahieren, einschließlich RAR
. Es kann auch über die Befehlszeile ausgeführt werden, wodurch es in Batch-Skripten verwendet werden kann.
Es gibt viele Möglichkeiten, dies zu tun. Im Folgenden finden Sie einige Beispiele:
So extrahieren Sie eine Datei:
7z x item1.rar
So extrahieren Sie alle rar
Dateien in einem Verzeichnisbaum:
dir library\*.rar /s /b > rarlist.txt
for /f %f in (rarlist.txt) do 7z x %f
Um die Dateien nach dem Extrahieren zu löschen, fügen Sie die Zeile hinzu
for /f %f in (rarlist.txt) do del %f
Bevor Sie einen solchen Befehl ausführen, vergewissern Sie sich bitte zuerst, dass die Extraktion erfolgreich war und dass Sie die richtigen Dateien entfernen, indem Sie einen Testlauf mit echo
anstelle von ausführen del
.
Bearbeiten 2017-12-29:
Dank Caseys Input in den Kommentaren geht das auch mit PowerShell, ohne dass eine zusätzliche Datei benötigt wird
foreach ($file in (ls *.rar)) { 7z x "$file" -aoa }; rm *.rar
Ich habe Total Commander auf meinen Rechnern installiert. Es hat die Option, bestimmte Dateien zu entpacken (mit der Option Jedes Archiv in ein separates Unterverzeichnis entpacken), wodurch Sie ausgewählte Archive auf einmal entpacken können.
Danach müssen Sie die Archive erneut auswählen, um sie zu löschen, es ist also nicht genau in einem Schritt.
Zusammen mit seinen Such- und Feed-to-Listbox - Befehlen können Sie Archive, die sich in verschiedenen Ordnern befinden, stapelweise extrahieren, was Sie möchten. In Ihrem Beispiel würden Sie in Ihrem Ordner
suchen .item?.rar
/library/
Total Commander ist Shareware und kostet 44 US$ bzw. 38 €
Googeln scheint dies ein ziemlich häufiges Problem zu sein, und es gibt mehrere sofort einsatzbereite Lösungen dafür.
Auf dieser Seite finden Sie einige davon: https://www.raymond.cc/blog/5-free-tools-to-automatically-extract-multiple-rarzip-archives/
Ich habe festgestellt, dass Unpack Monitor für mich funktioniert.
Was Sie tun, ist, es so einzustellen, dass bestimmte Verzeichnisse (wie Ihre Download-Verzeichnisse) überwacht werden, und es wird automatisch nach RARs suchen und die Dateien/Medien extrahieren.
Das bedeutet, dass Sie beim Herunterladen nicht einmal wissen müssen, dass Sie rars herunterladen. Wenn Sie sich den Ordner ansehen, ist bereits alles entpackt und bereinigt. Sehr angenehm.
Da Sie mehrteilige rar-Dateien haben, müssen Sie diese rXX-Dateien zusätzlich zu den *.rar-Hauptdateien entfernen. Das folgende Skript extrahiert alle *.rar-Dateien und löscht alle Archivdateien, wenn die Dekomprimierung erfolgreich war
for %%f in (*.rar) do (
7z x %%f
if errorlevel 1 (
echo Error extracting file %%f
) else (
del %%~nf.r*
)
)
Sie können 7z.exe auch durch rar.exe ersetzen. Sie verwenden dieselbe Syntax
Wenn Sie die WinRAR-GUI-Version verwenden, gibt es eine Option zum Löschen des Archivs nach der Extraktion. Klicken Sie einfach mit der rechten Maustaste auf ein beliebiges Archiv > Dateien extrahieren... > Erweitert und wählen Sie „Um Bestätigung bitten“ oder „Immer“. Sie können dies als Standardoption speichern, indem Sie zur Registerkarte Allgemein zurückkehren und auf Speichern klicken
Zitiert aus der Hilfedatei von WinRAR
Archiv löschen
- Niemals
- Löschen Sie kein entpacktes Archiv.
- Fragen Sie nach Bestätigung
- Bitten Sie den Benutzer um Bestätigung, bevor Sie ein entpacktes Archiv löschen.
- Stets
- Löschen Sie ein entpacktes Archiv ohne Rückfrage.
WinRAR löscht ein Archiv nur dann, wenn es fehlerfrei entpackt wurde und alle archivierten Dateien zum Entpacken ausgewählt wurden. Wenn Sie ein mehrvolumiges Archiv entpacken, werden alle seine Volumes gelöscht.
Beachten Sie, dass Sie den Standardzustand dieser Option mit der Schaltfläche "Einstellungen speichern" auf der Seite "Allgemein" des Extraktionsdialogs speichern können und sich auch auf die Befehlszeilen- und Kontextmenü-Extraktionsbefehle auswirken. Verwenden Sie den Modus „Um Bestätigung bitten“ und insbesondere den Modus „Immer“ mit Bedacht. Das Löschen eines entpackten Archivs kann bei unsachgemäßer Verwendung zu Datenverlust führen.
Leider gilt dies nur für winrar.exe und nicht für rar.exe, aber Sie können immer noch Dateien mit winrar.exe extrahieren, indem Sie die x
Option wie oben verwenden
Casey
7z x filename.rar
Casey
foreach ($file in (ls *.rar)) { 7z x "$file" -aoa }; rm *.rar
Tymric
phuclv
Tymric