Entpacken Sie mehrere Dateien in mehrere Unterordner

736
Chris Jackson

Ich habe eine Reihe gezippter Dateien (.rar, .zip), die sich in mehreren Unterordnern befinden, aber alle im selben Basisordner (F: \ 1).

Ich habe mich gefragt, ob es eine Möglichkeit gibt, jede Datei zu entpacken, während der ursprüngliche Name erhalten bleibt (gezippte Datei.zip würde zu F: \ 1 \ gezippte Datei).

Und wenn möglich, löschen Sie die ursprüngliche ZIP-Datei und behalten Sie den entpackten Ordner bei.

Gibt es eine Möglichkeit, dies mit einer Batchdatei zu tun, so dass ich nicht jeden Ordner auf einmal machen muss?

Danke Leute :)

0

1 Antwort auf die Frage

0
LotPings

Ihre Frage ist ziemlich ambitioniert. Ein Archiv enthält normalerweise mehr als eine Datei und kann Unterordner enthalten. Wenn Sie einen foldermit demselben Namen wie das Archiv erstellen möchten (ohne Erweiterung) und den gesamten Archivinhalt darin speichern möchten, ist dies ein Ausgangspunkt.

:: Expand-Archive.cmd ::::::::::::::::::::::::::::::::::::::::::::::::::::: @Echo off&SetLocal EnableExtensions Set Base=F:\1 if exist "%~1" Set "Base=%~f1" Pushd %Base% ||(Echo Can't cd to base folder %base% &Pause&Exit) For /f "delims=" %%A in ('Dir /B/S/A-D *.zip *.rar') Do Call :Expand "%%A" PopD Goto :Eof  :Expand Set "_Folder=%~dp1" PushD "%_Folder%" Set "_Archive=%~nx1" Set "_NewSubFolder=%~dpn1" :: Your own code to expand the Archive goes here. :: I don't know what tool (7zip Infozip etc.) you usually use. :: :: with 7z somewhere in your path this might work, :: remove Echo in the following 2 Lines. Echo MkDir "%_NewSubFolder%" Echo 7z x -O"%_NewSubFolder%" "%_Archive%" && Del "%_Archive%" PopD Goto :Eof :: Expand-Archive.cmd ::::::::::::::::::::::::::::::::::::::::::::::::::::: 

HTH