husana
Goto Top

Bat-Datei - aus einer ini-datei 2 Einträge auslesen und in .txt schreiben

habe da mal ein problem mit dem ich schon was länger am kämpfen bin.

Guten Morgen,

habe ein bat-file um aus einer .ini datei eine zeile bzw eine zahl auszulesen. nun möchte ich eine weitere zeile bzw. zahl mit auslesen.

bisher sieht es so aus:

for /d %%i in ("%Ordner%*.*") do if exist "%%i est.ini" for /f "tokens=3" %%a in ( 'findstr /b /c:"Terminal = " "%%i est.ini"' ) do >>"%Liste%" echo %%~nxi - %%a

er kopiert mir die zahl hinter (Terminal = XX)
nun möchte ich die zahl die hinter (TERM = XXX) mit auslesen.

meine txt datei sollte dann so aussehen:

Datei:-----(Terminal = XX) ---(TERM = XXX)
PC01-------------- 10 --------------- 123

es müsste irgendwo noch ein "findstr" eingebaut werden, oder?

Vielen Dank schonmal für eure Hilfe

mfG husana

Content-Key: 155382

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

Printed on: April 25, 2024 at 14:04 o'clock

Member: bastla
bastla Nov 19, 2010 at 09:31:19 (UTC)
Goto Top
Hallo husana!

Ungetestet etwa so:
@echo off & setlocal
for /d %%i in ("%Ordner%\*.*") do if exist "%%i\est.ini" call :ProcessFile "%%i\est.ini"  
goto :eof
	
:ProcessFile
set "Terminal=#NV"  
for /f "tokens=3" %%a in ('findstr /b /c:"Terminal = " %1' ) do set "Terminal=%%a"  
set "TERM=#NV"  
for /f "tokens=3" %%a in ('findstr /b /c:"TERM = " %1' ) do set "TERM=%%a"  
>>"%Liste%" echo %~nx1 - %Terminal% - %TERM%  
goto :eof
Das Vorbelegen der Variablen mit "#NV" (abgeleitet von der gleichnamigen Excel-Fehlermeldung) soll dafür sorgen, dass für den Fall, dass der Eintrag nicht gefunden wurde, nicht ein "alter" Wert verwendet, sondern die Fehlermeldung in die Datei geschrieben wird.

Grüße
bastla
Member: husana
husana Nov 19, 2010 at 13:29:07 (UTC)
Goto Top
Hallo bastla

Hat alles super funktioniert. Besten Dank bastla

mfG husana
Member: micneu
micneu Nov 19, 2010 at 13:29:24 (UTC)
Goto Top
woher bekommst du den rechner namen?
auch aus der datei?
da war ich ja jetzt zu spät.

gruß michael