renrep88
Goto Top

Zeile aus txt auslesen per bat

Hallo
ich arbeite an einem bat file das mir die infos aus einer txt auslesen soll und bei einem bestimmten wert eine msg schreiben
mein bisheriger code:
Setlocal EnableDelayedExpansion
:start
cd C:\Users\User\Downloads\bluetoothview
Bluetoothview.exe /stext BT.txt

set zeile=
for /f "delims=" %%i in ('findstr /N /C:"XTREME" BT.txt') do @(  
	for /F "tokens=1 delims=:" %%a in ("%%i") do set "zeile=%%a"  
echo %zeile%
)

set /a zeile=zeile+1
set "line="  

for /f "delims=" %%b in ('more/e +%zeile% ^< BT.txt') do (  
  if not defined line set "line=%%b")  
echo %line% | findstr /C:"No">nul && (goto weiter) || (goto start)  
:weiter
msg * "Funktioniert"  
pause

leider funktioniert das nicht so wie ich gerne hätte
es gibt mir nicht die zeile nach dem string aus sondern die 2.zeile der txt
ich vermute das der fehler bei der variable 'zeile' liegt

Danke im Voraus

Content-ID: 577078

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

Ausgedruckt am: 23.11.2024 um 04:11 Uhr

Renrep88
Renrep88 06.06.2020 um 12:04:38 Uhr
Goto Top
mit einer anderen variante hat es funktioniert

@echo off
cd C:\Users\User\Downloads\bluetoothview
Bluetoothview.exe /stab BT.txt
set "File=C:\Users\User\Downloads\bluetoothview\BT.txt"  
set /a count=0
SETLOCAL enabledelayedexpansion
for /F "tokens=* delims=" %%a in ('Type "%File%"') do (  
         Set /a count+=1
         Set "output[!count!]=%%a"       
)

For /L %%i in (1,1,%Count%) Do (
 Call :Action "!output[%%i]!"  
)

Exit
::*******************************************************
:Action
echo %1 | findstr /C:"XTREME">nul && (goto weiter) || (exit /b)  
:weiter
echo %1 | findstr /C:"No">nul && (shutdown /s /t 0) || (goto ein)  
:ein
cd C:\Users\User\Downloads\bluetoothview
Bluetoothview.exe /stab BT.txt
exit /b
::*******************************************************