Extrahieren Sie aus mehreren Ordnern mit Batch-Datei auf ein anderes Laufwerk (mit Winrar)

623
mcnoob

Ich würde gerne extrahieren:

c: \ Stuff \ Cat \ cat.rar

c: \ Stuff \ Dog \ dog.rar

...

zu

d: \ Stuff \ create dir Cat \ Inhalt von cat.rar

d: \ Stuff \ create dir Dog \ Inhalt von dog.rar

...

Nach vielen Stunden des Versuchs (ohne vorherige Erfahrung) habe ich an dieser Stelle aufgehört:

FOR / D / r %% F in ("*") DO (

pushd %CD% cd %%F  FOR %%X in (*.rar *.zip) DO ( for /f "delims=\" %%a in ("%cd%") do ( echo current folder: %%~nxa  SET CURRENTFOLDER=%%~nxA "C:\Program Files (x86)\WinRAR\UnRAR.exe" x "%%X" D:\Stuff\%CURRENTFOLDER% ) ) popd ) 

Ich kann nicht herausfinden, wie man eine Variable mit dem aktuellen Ordnernamen zum Extraktionspfad hinzufügt.

Jede Hilfe wäre dankbar, danke.

0
Ändern Sie den Extraktionspfad in Ihrem Beispiel in etwas wie "D: \ Stuff \% CURRENTFOLDER% \" `und fügen Sie diesen Backslash am Ende des Ausgabeverzeichnisses in Ihrem Befehl ein. Vielleicht sollten Sie mit SET SET CURRENTFOLDER = %% ~ nA `testen, um die Erweiterung auszuschließen, wenn dies auch ein Ordner sein soll. Pimp Juice IT vor 6 Jahren 0

0 Antworten auf die Frage