aaron2222
Goto Top

Winrar Dateien per Send To entpacken

Hi,
Systeminfo:
Windows 7 64 Bit
(wenn noch mehr wichtig ist, bitte sagen)

ich versuche gerade ein Script zu schrieben/zusammen zu suchen, das folgendes kann:

(- alle meine Downloads sind in einigen Unterordnern ...)
- per recht klick auf einen Ordner (O:/dl/kp_v1), senden an "entpacken" soll mir das Script automatisch
1. einen Unterordner in D:\Daten\_new\_income\, mit dem namen des Ordners auf den ich rechtklick gemacht habe, erstellen. (in diesem beistpeil soll der Ordner D:\Daten\_new\_income\/kp_v1 erstellt werden
2. alle Dateien aus dem Ordner O:/dl/kp_v1 (immer .part01-partXX) in den Ordner " D:\Daten\_new\_income\/kp_v1" entpacken ...
3. Die Ordner welche in einem Archiv sind sollen auch erstellt werden (und nicht nur die Dateien ohne Ordner entpackt werden ...)


Hmm wer das jetzt alles auf das erste mal kapiert hat, Respekt ...

So mein bisheriger Ansatz
@echo off


for %%i in ("%cd:\=","%") do set "ak_vz=%%i"   
path "C:\Program Files\WinRAR"  
echo %ak_vz%

mkdir "D:\Daten\_new\_income\%ak_vz%"  


WinRAR e "%1\*.part1.rar"  -hppasswort  "D:\Daten\_new\_income\%ak_vz%"  
WinRAR e "%1\*.part01.rar" -hppasswort  "D:\Daten\_new\_income\%ak_vz%"  

pause


Was klappt:
1. senden an ...
2. dass er alle Dateien in dem Ordner in den anderen Ordner entpackt ...
3. dass er einen (aber falscher Name) Ordner erstellt ...

Was nicht klappt:
1. Die Variable %ak_vz% beinhaltet ein Verzeichnis, eine eben zu hoch (O:/dl/kp_v1 soll entpackt werden dann steht dl in der variablen) --> hiermit verbunden, entpackt es in einen anderen Ordner und erstellt eine Ordner mit falschem Namen aber ändern der variable sollte das Problem beheben ..)
2. beim entpacken sollen die Daten nicht direkt in den Ordner (in jedem Archiv ist ein Ordner mit gepackt, und dieser soll auch mit entpackt werden und nicht direkt alle Dateien in den Hauptordner ...
-->
4333cef1144756044d7d7a0bf42eb17f
dass hier die daten am ende in dem ordner "D:\Daten\_new\_income\kp_v1\Ordner" landen ... (und nicht direkt in "D:\Daten\_new\_income\kp_v1\"


Könnt ihr mir bitte helfen ...
ich habe schon Ewigkeiten gesucht und weiß einfach nicht wie ich es nennen soll, um den aktuellen Ordnername herauszubekommen ...
Ich hoffe, dass ihr da eine einfache Lösung dafür kennt ...

Content-ID: 145192

Url: https://administrator.de/contentid/145192

Ausgedruckt am: 26.11.2024 um 14:11 Uhr

77559
77559 19.06.2010 um 14:33:53 Uhr
Goto Top
Hallo Aaron2222,

für das Entpacken reicht eigentlich die frei verwendbare Commandline Version Unrar.exe, die bekommst du hier bei Rarlabs

Üblicherweise gibts es 2 Befehle zum Entpacken "e" ohne Verzeichnisse und "x" mit.

Eine etwas überarbeitete Batchversion könnte so aussehen:
@echo off & SetLocal

Set Winrar="C:\Program Files\WinRAR\WinRar.exe"  
If Not Exist %WinRar% Echo Kann Winrar.exe nicht finden & Pause & Goto :Eof

set "Ordner=D:\Daten\_new\_income\%~nx1"   
echo %Ordner%

If Not Exist "%Ordner%" MD "%Ordner%"  

IF Exist "%1\*.part1.rar"  %WinRAR% x "%1\*.part1.rar"  -hppasswort "%Ordner%"  
If Exist "%1\*.part01.rar" %WinRAR% x "%1\*.part01.rar" -hppasswort "%Ordner%"  
pause

Gruß
LotPings
Aaron2222
Aaron2222 19.06.2010 um 16:38:16 Uhr
Goto Top
Danke für die Schnelle Antwort ^^

Wenn ich mir überlege wie lange ich da schon nach nem passenden Befehl gesucht habe ...
und einfach %~nx1 ist die Lösung ...
77559
77559 19.06.2010 um 16:50:30 Uhr
Goto Top
Zitat von @Aaron2222:
Danke für die Schnelle Antwort ^^
Gerne geschehen,
ich hoffe mal es ist nicht nur die schnelle Antwort sondern auch eine funktionierende Lösung ....
Wenn ich mir überlege wie lange ich da schon nach nem passenden Befehl gesucht habe ...
und einfach %~nx1 ist die Lösung ...
Die Hilfe zum Call oder zum For Befehl gibt nähere Details zu den ~ Tilde Erweiterungen, also in einem CMD-Fenster entweder
Call /?
und/oder
For /?
eingeben und alles mehrfach nund genau durchlesen face-wink

Gruß
LotPings