(Batch) Wert aus txt in Variable
psy_
- sonstiges
Hallo Forum,
OS: Windows XP & 7
Meine txt-datei (errors) sieht wie folgt aus:
:: "Cheyene: Laufwerk C" - (IP: 192.168.1.2)
:: "Nala: Laufwerk C" - (IP: 192.168.1.3)
:: "Nala: Ordner Manu" - (IP: 192.168.1.3)
je nach dem ist auch nur eine zeile vorhanden..
nun brauche ich die IPs in den Klammern in verschiedenen vars: %IP1%,
%IP2% etc..
mit for /f sollte das doch gehen.. aber ich kriegs nicht hin.
irgendwie die letzten 12 stellen einer zeile minus das letzte.
hoffe auf tipps
zum verständnis:
REM echo ..........................................................
echo ::ERROR "Verbindung zu folgenden Geraeten fehlgeschlagen"
echo ..........................................................
if exist %errorfile% ( type %errorfile% ) else ( echo Unbekannter Fehler )
echo ..........................................................
echo\
echo\
if exist %errorfile% del %errorfile%
if exist %errorbak% del %errorbak%
@ping -n 1 localhost> nul
:Frage
choice /T 600 /D n /m "Nochmals versuchen zu verbinden? (in 10 Min.: Nein)"
if %errorlevel% GEQ 3 goto Frage
if %errorlevel% == 2 goto WahlN
if %errorlevel% == 1 goto WahlJ
ECHO Ungueltige Antwort, nur (J N) & goto Frage
:WahlN
goto Ende
:WahlJ
start connet_chey.bat
:Ende
exit
bei ja will ich anstatt die ganze bat von vorher (die die errors ausgab)
nochmals zu starten, eine neue starten und die error-ip's mitgeben..
grüsse psy_
for /f "tokens=7 delims=) " %%I in (errors) do (
echo %%I
)
for /f "tokens=7 delims=) " %%I in (errors) do (
echo %%I
)
Danke!
Meine Lösung:
for /f "delims=" %%l in (errorfile.txt) do (
set ip1=%%l
set ip2=!ip1:~-12!
set ip3=!ip2:~0,11!
echo !ip3!
pause
if "!ip3!"=="%IPNala%" call :test1
if "!ip3!"=="%IPpcunten%" call :test2
)