[Bat] Txt Zeilenweise auslesen und gefunde Zeilen per Parameter an ein Programm geben

rkrause

Mitglied
An alle Batch experten:):

Ich möchte gern ein kleines Batch zum Entpacken von Archiven mit verschieden Passwörtern schreiben.

Was soll es tun?
Ich habe mehrere Dateien, die per Passwort verschlüsselt sind. Die Passwörter können unterschiedlich sein. Desweiteren hab ich eine TXT-Datei in der 5 Passworte stehen und Winrar, das ich mit Consolenbefehle steuern kann.
Nun sollen per Batch die Dateien entpackt werden!!

Ich habe schon eine Batch, in der sämtliche Dateien abgearbeitet werden, aber nur wenn in der Txt-Datei ein Passwort steht. Die nicht entpackten Archive kommen dann in ein neues Verzeichnis(einstellbar).

Nun möchte ich aber gern, wenn das Passwort falsch ist, das die nächste Zeile der TXT-Datei ausgelesen wird und als Parameter übergeben werden kann. Allerdings bin ich fast am verzweifeln, wie ich die Schleife verwenden soll und wie ich korrekt die TXT zeilenweise auslese und zB als Variable speichere und als Parameter übergeben kann.

Gibt es da eine Möglichkeit
 
@echo off
For /F "tokens=1*" %%i in (passwort.txt) do call :machWasMitDirs "%%i"

:machWasMitDirs
echo Jetzt ist Passwort "%~1" dran!!

rem geht zu ende, wenn am ende der Datei
if "%~1"=="" goto ende_der_datei
pause

rem entpacke
unrar.exe x "unpacker.rar" -p"%~1" -ad -av- -o+

rem prüft, ob entpack, indem er schaut, ob verzeichnis leer ist
set count=0
for %%i in (unpacker\*) do set /a count+=1
if "%count%"=="0" goto nix
goto was

:nix
echo Hat nix Entpackt
goto ende

:was
echo Hat was Entpackt
rem UND soll nun eigentlich beendet werden, macht aber trotzdem, die Schleife weiter,
was muss ich hier Eintragen, damit es aus der Schleife kommt. Hab ein Break versucht, was aber auch nicht ging:(
goto ende

:ende_der_datei
echo am_ende_der_datei

:ende
pause



Ich habe drei Einträge in der TXT, der 1. ist falsch, der 2.richtig und der 3. Wieder falsch.

Mein Problem ist nun: Wie komme ich aus der 2. Schleife raus, die ja richtig war und nicht mehr einen weiteren Durchlauf macht!?
 

Neue Beiträge

Zurück