element22

Batch - Bestimmter Inhalt einer Zeile aus einer txt oder ini als Variable

Hallo zusammen,

leider finde ich den Fehler nicht. Na gut, vielleicht sitzt er vorm Monitor, aber das ist etwas anderes ;).
Zur bisherigen Batch:
@ECHO OFF & SETLOCAL ENABLEDELAYEDEXPANSION
COLOR F0
				SET /a "cnt=1"  
				SET /a "n=15"  
				FOR /F "tokens=2 usebackq delims=:" %%i IN ("\\Fileserver\Freigabe\Parameter_Java.ini") DO CALL :Zeilenwahl %n% "%%i"  
				SET "Var_Version_Java=%Hilfs_Var%"  

				SET /a "cnt=1"  
				SET /a "n=16"  
				SET "Hilfs_Var="  
				FOR /F "usebackq tokens=2 delims=:" %%i IN ("\\Fileserver\Freigabe\Parameter_Java.ini") DO CALL :Zeilenwahl %n% "%%i"  
				SET "Var_RegKey_Java=%Hilfs_Var%"  

:Zeilenwahl
				IF %cnt%==%1 SET "Hilfs_Var=%~2"  
				SET /a "cnt+=1"  
				GOTO :eof

Inhalt Zeile 15 aus "Parameter_Java.ini":
Version:7.0.650

Inhalt Zeile 16 aus "Parameter_Java.ini":
Aktueller_RegSchluessel:{26A24AE4-039D-4CA4-87B4-2F03217065FF}

Hier soll aus der "Parameter_Java.ini" aus Zeile 15 und Zeile 16 der zweite Wert ausgelesen werden. Trennzeichen ist der : . Die Option usebackq habe ich wegen dem " für den Dateipfad verwendet.
Verwende ich Tokens=1 bekomme ich als Ausgabe "Version" und "Aktueller_RegSchluesse" (ohne "). So weit, so gut.
Verwende ich Tokens=2 bekomme ich als Ausgabe nur noch ECHO ist ausgeschaltet (OFF). Aber genau die zweiten Werte brauche ich ja. Laut http://www.ss64.com/nt/for_f.html soll das mit den Tokens ja gehen, aber irgendetwas übersehe ich wohl.

Wo liegt mein Fehler?
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 244577

Url: https://administrator.de/forum/batch-bestimmter-inhalt-einer-zeile-aus-einer-txt-oder-ini-als-variable-244577.html

Ausgedruckt am: 10.06.2025 um 18:06 Uhr

rubberman
Lösung rubberman 24.07.2014, aktualisiert am 28.07.2014 um 08:29:18 Uhr
Goto Top
Hallo element22, willkommen im Forum.

Teste:
@echo off &setlocal

for /f "tokens=1,2* delims=:" %%i in (  
  'type "\\Fileserver\Freigabe\Parameter_Java.ini"^|findstr /n "^"'  
) do (
  if %%i==15 (set "Var_Version_Java=%%k") else if %%i==16 set "Var_RegKey_Java=%%k"  
)

echo %Var_Version_Java%
echo %Var_RegKey_Java%
pause
Grüße
rubberman
element22
element22 28.07.2014 um 08:29:51 Uhr
Goto Top
type .... wieder etwas dazu gelernt face-smile.
Vielen Dank face-smile