racer1601
Goto Top

BATCH mehrere Verzeichnisse entpacken und Passwort

Was Batch angeht bin ich Anfänger nur mal Vorne weg!!

Es geht um folgendes: Ich habe einen Ordner in dem ca 200 rar und zip Dateien liegen und die zum Teil PW geschützt sind.

Jetzt würde ich die aber gerne mit einer Batch diese Dateien entpacken und auch das PW einfügen. Das entsprechenden PW würde ich dann mit in die Batch legen.
Aber an der Sache mit dem Entpacken scheiter ich schon. Und wie man das Passwort einfügt dazu habe ich gerade keine Idee. Ich hoffe Ihr könnt mir da helfen. Was ich mir schon gebastelt habe hänge ich mal an.

Gruß Alex


@echo off

for /f %%e in ('dir /s /b D:\Test\*.zip') do copy %%e D:\Rar  
for /f %%e in ('dir /s /b D:\Test\*.rar') do copy %%e D:\Rar  

Pause

for %%i in (D:\Rar\*.zip) do call :entpacken "%%i"   


:entpacken

start "c:\program files\winrar.exe" D:\Rar\%%i  D:\Rar\  

Content-Key: 176625

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

Ausgedruckt am: 29.03.2024 um 00:03 Uhr

Mitglied: bastla
bastla 22.11.2011 um 14:35:42 Uhr
Goto Top
Hallo racer1601!

Gib doch mal in einer CMD-Shell
"c:\program files\unrar.exe" /?
ein ...

Grüße
bastla
Mitglied: racer1601
racer1601 22.11.2011 um 21:00:21 Uhr
Goto Top
Das geht bei mir nicht kommt immer kann Datei nicht finden.
Mitglied: mathe172
mathe172 22.11.2011 um 21:08:40 Uhr
Goto Top
Hallo,

hast du 64bit OS aber 32bit WinRAR? Dann versuch mal
"C:\Program Files (x86)\WinRAR\UnRAR.exe" /?
oder sonst
"C:\Program Files\WinRAR\UnRAR.exe" /?

MfG,
Mathe172
Mitglied: bastla
bastla 22.11.2011 um 22:35:17 Uhr
Goto Top
Hallo racer1601!

Die Anführungszeichen hast Du doch aber schon auch mit eingegeben?

Grüße
bastla
Mitglied: racer1601
racer1601 23.11.2011 um 12:09:09 Uhr
Goto Top
Also irgendwie bekomme ich nichts auf die Reihe. Jetzt will er die Parameter nicht übernehmen

und wie bekomme ich meine Variable"%%i" mit eingebunden?
start C:\Program Files (x86)\WinRAR\UnRAR.exe /e -p[xxxxxxxx] D:\Rar\*.rar D:\Rar\
Es ist verdammt schwer sich mit einem haufen Schmerzmitteln zu konzentrieren(BandscheibenOP) sorry das ich euch mit so banalem Zeugs nerve!!
Aber ich lerne den Job ja auch noch.

Gruß Alex
Mitglied: Biber
Biber 23.11.2011 um 13:48:52 Uhr
Goto Top
Moin racer1601,

lass bitte das "Start" weg und schreibe den verbleibenden Rest so:
...
"C:\Program Files (x86)\WinRAR\UnRAR.exe" /e -p[xxxxxxxx] D:\Rar\*.rar D:\Rar\  

Grüße
Biber
Mitglied: racer1601
racer1601 23.11.2011 um 17:44:13 Uhr
Goto Top
Danke erstmal!

Wenn ich das so eingeben bekomme ich immer Datei pfad nicht gefunden. aber mit
dir d:\rar\

bekomme ich alle Dateien angezeigt.

habe den Pfad auch schonmal in die Anführungszeichen gepackt aber das geht auch nicht. Muss ich da noch dieses: User\Alex davor packen? Aber auf der CMD geht das auch nicht auch nicht im Wurzelverzeichniss.

Bin jetzt ziemlich ratlos.

also das Programm WinRAR soll alle Verzeichnisse mit der Endung .rar entpacken und das Passwort setzen. Die Dateien liegen in dem Ordner D:\Rar\*.rar und sollen in D:\Rar\ entpackt werden.
Dafür hatte ich ja die Schleife
for %%i in (D:\Rar\*.zip) do call :entpacken "%%i"   

:entpacken

"C:\Program Files (x86)\WinRAR\UnRAR.exe" /e -p[xxxxxxxx] D:\Rar\"%%i".rar D:\Rar\  

es fehlt auch noch die Rücksprungmarke. Aber ich wäre ja schon froh wenn ich den Fehler los werden würde.

Alex
Mitglied: Biber
Biber 23.11.2011 um 17:56:31 Uhr
Goto Top
Moin racer1601,

wir tasten uns mal langsam ran:
....
for %%i in (D:\Rar\*.zip) do call :entpacken "%%i"   
goto :eof
~~~~~~~~~ Ende des Schnipsels, danach kommt nur noch geCALLtes


REM der erste an :entpacken übergebene Parameter kommt als %1 rein,
REM und aus %1 = "what the heck.rar" in Anführungszeichen  
REM machen wir mit %~1 ein what the heck.rar ohne Anführungszeichen
:entpacken

"C:\Program Files (x86)\WinRAR\UnRAR.exe" /e -p[xxxxxxxx] "D:\Rar\%~1"  D:\Rar\  
goto :eof
REM goto :eof bedeutet hier "Back to Caller"  

Grüße
Biber
Mitglied: racer1601
racer1601 23.11.2011 um 18:18:16 Uhr
Goto Top
So sieht es aus bei mir:

@echo off

::for /f %%e in ('dir /s /b D:\Download\*.zip') do copy %%e D:\Rar 
::for /f %%e in ('dir /s /b D:\Download\*.rar') do copy %%e D:\Rar 


for %%i in (D:\Test2\*.zip) do call :entpacken "%%i"   
pause
goto :eof

pause

:entpacken 


"C:\Program Files (x86)\WinRAR\UnRAR.exe" /e -p[xxxxxxx] "D:\Test2\%~1"  D:\Rar\   


goto :eof 

pause

Habe mal nur eine Datei in den Ordner Test2 gelegt, aber es läuft auch nicht durch, kommt immer Dateipfad konnte nicht gefunden werden!

Gruß Alex
Mitglied: Biber
Biber 23.11.2011 um 19:06:31 Uhr
Goto Top
Moin racer1601,

mir ist noch ein wenig unklar, ob denn nun eine Unrar.exe gefunden wird bzw in werchem Pfad die nun steckt.

Frage: Gibt es denn bei Eingabe am CMD-Prompt von
"C:\Program Files (x86)\WinRAR\UnRAR.exe" /?
--> eine Fehlermeldung oder eine Syntaxhilfe?

Falls Fehler:
Was liefert der CMD-Prompt-Befehl...?
Dir "C:\program files (x86)\unrar.exe" /b /s

Falls kein Fehler, sondern Syntaxhlfe:
- kennt "deine" unRAR.exe wirklich den Befehl "/e" zum Entpacken oder heisst der einfach "e" ?

Grüße
Biber
Mitglied: racer1601
racer1601 23.11.2011 um 20:09:10 Uhr
Goto Top
So habe mal rum probiert:

habe (x86) weggenommen und den / vor dem e jetzt kommt dieses:

UNRAR 3.93 freeware Copyright (c) 1993-2010 Alexander Roshal

Kann D:\Rar\D:\Rar\xxxxxxxxxxxxx.zip nicht öffnen.
Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung
Keine Dateien zum Entpacken.

UNRAR 3.93 freeware Copyright (c) 1993-2010 Alexander Roshal

Kann D:\Rar\D:\Rar\xxxxxxxxxxxxxxx.zip nicht öffnen.
Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung
Keine Dateien zum Entpacken.

@echo off

::for /f %%e in ('dir /s /b D:\Download\*.zip') do copy %%e D:\Rar 
::for /f %%e in ('dir /s /b D:\Download\*.rar') do copy %%e D:\Rar 

for %%i in (D:\Rar\*.zip) do call :entpacken "%%i"   
pause
goto :eof
pause
:entpacken 
"C:\Program Files\WinRAR\UnRAR.exe" e -p[xxxxxxxxxxx] "D:\Rar\%~1"  D:\Rar\   
goto :eof 
pause

Kann das daran liegen das es keine Vollversion ist? Kann man nicht auch das Win7 interen Packprogramm benutzen?

Gruß Alex
Mitglied: bastla
bastla 23.11.2011 um 20:15:30 Uhr
Goto Top
Hallo racer1601!

Versuch es mit folgender Zeile 11 (als %1 kommt ja schon der vollständige Pfad an):
"C:\Program Files\WinRAR\UnRAR.exe" e -p[xxxxx] %1  D:\Rar\
Grüße
bastla

P.S.: Passwörter würde ich eher nicht posten ... face-wink
Mitglied: racer1601
racer1601 23.11.2011 um 20:18:06 Uhr
Goto Top
habe was gebastelt mit:
"C:\Program Files\WinRAR\UnRAR.exe" e "%~1"  D:\Rar\   
fängt er an zu entpacken aber ich muss das PW von Hand eingeben. Irgendwas stimmt am Schalter für das PW nicht
Werde deine Zeile mal testen!
Mitglied: racer1601
racer1601 23.11.2011 um 20:22:50 Uhr
Goto Top
Wenn ich die Zeile teste kommt:

UNRAR 3.93 freeware Copyright (c) 1993-2010 Alexander Roshal

Verschlüsselte Datei: CRC-Fehler in D:\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.rar (Falsches Passwort?).
Keine Dateien zum Entpacken.

Das PW passt aber wenn ich es von Hand eingebe.

Gruß Alex
Mitglied: bastla
bastla 23.11.2011 um 20:27:01 Uhr
Goto Top
Hallo racer1601!

Dann lass mal die eckigen Klammern weg ... face-wink

Grüße
bastla
Mitglied: racer1601
racer1601 23.11.2011 um 20:36:13 Uhr
Goto Top
So ohne Klammern gehts. das PW mus ohne lehrzeichen an das -p folgen!

"C:\Program Files\WinRAR\UnRAR.exe" e -pxxxxxxxx "%~1"  D:\Rar\   

nur jetzt habe ich das Problem das keine Ordner mehr erstellt werden in die entpackt werden soll.
Mitglied: bastla
bastla 23.11.2011 um 20:41:02 Uhr
Goto Top
Hallo racer1601!

Dann entweder mit "x" anstelle von "e" entpacken oder
"C:\Program Files\WinRAR\UnRAR.exe" e -pxxxxxxxx "%~1"  "D:\Rar\%~n1\"
versuchen ...

Grüße
bastla
Mitglied: Biber
Biber 23.11.2011 um 20:43:37 Uhr
Goto Top
Moin racer1601,

leider ist meine Frage nach dem ".....UnRAR /?" ein bisschen untergegangen.
Bei "meiner" UnRAR.exe gilt die Syntax
C:\Users\Biber>"c:\Program Files (x86)\unrar\unrar"  /?

Usage:     unrar <command> -<switch 1> -<switch N> <archive> <files...>
               <@listfiles...> <path_to_extract\>

<Commands>
  e             Extract files to current directory
  l[t,b]        List archive [technical, bare]
  p             Print file to stdout
  t             Test archive files
  v[t,b]        Verbosely list archive [technical,bare]
  x             Extract files with full path
...
....(weitere 100 Zeilen)

wovon ich nur zitieren möchte:
<Commands>
  e             Extract files to current directory
  x             Extract files with full path

Du verwendest momentan "e" , angebracht wäre zum SubFolder anlegen "x".

Grüße
Biber
[Edit] Upps, bastla, immer noch Rechtsüberholer? face-wink [/Edit]
Mitglied: bastla
bastla 23.11.2011 um 20:47:34 Uhr
Goto Top
[OT] @Biber
immer noch Rechtsüberholer? face-wink
Gelegentlich rolle ich mal vorbei ... face-wink

Grüße
bastla
[/OT]
Mitglied: Biber
Biber 23.11.2011 um 20:54:14 Uhr
Goto Top
[Immer gern OT]
Zitat von @bastla:
> immer noch Rechtsüberholer? face-wink
Gelegentlich rolle ich mal vorbei ... face-wink
Jepp - bastla rolez wie die jungen Leute heute sagen.... face-wink

Grüße zurück
Biber
[/Immer gern OT]
Mitglied: racer1601
racer1601 23.11.2011 um 21:02:21 Uhr
Goto Top
Hey danke die Parameterlist hatte ich schon wieder verdrängt. Ich war schon mit dem anlegen von Ordnern beschäftigt!

werde mal versuchen den Rest einzubauen!

Gruß Alex
Mitglied: racer1601
racer1601 23.11.2011 um 21:18:36 Uhr
Goto Top
wenn ich das jetzt richtig sehe kann ich so keine Zip Dateien entpacken oder?
Gruß Alex
Mitglied: Biber
Biber 23.11.2011 um 21:25:12 Uhr
Goto Top
Ich sach ma' so...

bei mir heisst es dann:
C:\Users\Biber>"c:\Program Files (x86)\unrar\unrar"  l d:\downloads\RTFM.zip

UNRAR 3.91 freeware      Copyright (c) 1993-2009 Alexander Roshal

d:\downloads\RTFM.zip is not RAR archive

...wobei ich ergänzen möchte, RTFM.rar ist vielleicht kein RAR-Archiv, aber doch ein Hinweis...

Grüße
Biber
Mitglied: bastla
bastla 23.11.2011 um 21:27:04 Uhr
Goto Top
Hallo racer1601!

Dann "kauf" Dir eben ein "7za" und verwende die Zeile
"C:\Program Files\7za.exe" e -pxxxxxxxx -o"D:\Rar\%~n1\" %1
Grüße
bastla
Mitglied: racer1601
racer1601 23.11.2011 um 23:27:13 Uhr
Goto Top
Also bei mir liegt die exe wohl hier:

C:\Users\Alex>"C:\Program Files\7-Zip\7z.exe"

auf jedenfall kommt so die Hilfe mit den Parametern.

Leider geht die Zeile so nicht. Probiert habe ich:

"C:\Program Files\7-Zip\7z.exe x -o"D:\Rar\%~n1\" %1

mal mit Anführungszeichen mal ohne aber immer kommt:

Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch.

Also meine Dateien im .zip format liegen in D:\Rar\*.zip und sollen in D:\Rar\ im eigenen Ordner entpackt werden.

Die Angabe des Zielverzeichnis habe ich nicht ganz verstanden was bedeutet? D:\Rar \%~n1\

Gruß Alex
Mitglied: bastla
bastla 24.11.2011 um 06:42:13 Uhr
Goto Top
Hallo racer1601!
mal mit Anführungszeichen mal ohne
Und die Variante
"C:\Program Files\7-Zip\7z.exe" x -o"D:\Rar\%~n1\" %1
war auch dabei?
was bedeutet? D:\Rar \%~n1\
Da in %1 der gesamte Pfad der ZIP-Datei (unter Anführungszeichen, wenn Du hoffentlich weiterhin
for %%i in (D:\Rar\*.zip) do call :entpacken "%%i"
zum Aufruf verwendest) im Unterprogramm ankommt, aber eigentlich nur der Dateiname interessiert, wird dieser mit "%~n1" extrahiert (mehr dazu findest Du mit "for /?" ziemlich gegen Ende) ...

Grüße
bastla
Mitglied: racer1601
racer1601 24.11.2011 um 07:49:14 Uhr
Goto Top
Ohman bin ich ein Hirni!! Da fehlte doch glat nur ein Ausrufezeichen! Jetzt muss ich nur noch hinbekommen das er nicht 2 Ordner erstellt dann bin ich zufrieden. Aber jetzt muss ich aber erstmal die KIds in die Schule bringen.

Er macht jetzt D:\Rar\Verzeichnisname\verzeichnisname\Dateien wenn ich Parameter x nehme bei Parameter e ist der 2.Ordner Verzeichnis lehr. Die Datein liegen dann im ersten Ordner Verzeichnis.

Gruß Alex
Mitglied: bastla
bastla 24.11.2011 um 09:52:06 Uhr
Goto Top
Hallo racer1601!

Wenn Du eine zusätzliche Ordnerebene erhältst, lass eben das "%~n1" in der Zielangabe weg und entpacke nach "D:\Rar" ...

Grüße
bastla
Mitglied: racer1601
racer1601 24.11.2011 um 10:36:08 Uhr
Goto Top
Ja das hatte ich schon Probier geht jetzt alles super!!

Ich Danke euch!!!!

Gruß Alex
Mitglied: racer1601
racer1601 02.12.2011 um 15:55:41 Uhr
Goto Top
Ich muss das Thema nochmal aufgreifen. Kann man WinRar auch mehrere PW übergeben? Dachte da so an alle PW in eine txt legen und dann rausholen?

Gruß Alex
Mitglied: bastla
bastla 02.12.2011 um 16:52:57 Uhr
Goto Top
Hallo racer1601!
Dachte da so an alle PW in eine txt legen und dann rausholen?
Ja, das geht.

Grüße
bastla
Mitglied: Biber
Biber 02.12.2011 um 17:27:32 Uhr
Goto Top
Moin racer1601,

Zitat von @racer1601:
Dachte da so an alle PW in eine txt legen und dann rausholen?
Ist ja ein super Plan.
Und wir als Forum namens "administrator.de" sollen dir jetzt Tipps geben, wie du am einfachsten eine Plain-Textdatei mit vielen Dateinamen und den dazugehörigen RAR-Passworten anlegst??

Ich formuliere es mal wohlwollend - wenn du meinst, die gezipten Dateien seien alle durch (individuelle) Passworte schützenswert ...
und du dir alle Passworte nur von einem Batch aus einer Klartextdatei lesen und aufsagen lässt,
--> dann scheint mir der Datenschutzgedanke nun doch nicht so ernsthaft zu sein.

Grüße
Biber
Mitglied: bastla
bastla 02.12.2011 um 17:39:50 Uhr
Goto Top
@Biber
Ich nehme mal an, die Passwörter hat racer1601 nicht selbst gesetzt - aber so genau möchte ich das vielleicht ohnehin nicht wissen ...

Grüße
bastla
Mitglied: racer1601
racer1601 02.12.2011 um 18:10:55 Uhr
Goto Top
Ne das war nur eine Idee um mir das Leben zu erleichtern. Ich war so naive zu denken ich könnte mehre PW in einen Schalter packen.

Die Idee ist auch rein Privater Natur, in einer Firma würde ich sowas nicht machen. Ich habe hier halt einige alte Dateien rumfliegen, die auch nicht wirklich gut beschriftet sind. Aber eine txt in der ich meine möglichen PW gespeichert habe. Wollte da nochmal rein schauen, bevor ich die lösche, ob noch was drin ist was ich brauchen könnte.
Werde mal schauen das ich mir eine Schleife bastel kann, die mir dann das PW in meinen Schalter setzt. Ich hoffe das das überhaupt geht.

Gruß Alex