PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : *.txt-Datei auslesen und als Variable abspeichern in Batch



Miles
29.12.2005, 20:05
Hallo!
Ich habe zwar hier im Forum gefunden, wie man eine einzelne Zeile auslesen kann, aber wie man eine ganze Datei auslesen und z.B. als %text% definieren kann, hab ich nicht gefunden. Leider scheitert hier mein Batchwissen. Kann mir jemand helfen???

Danke schon mal!

Miles

felix000
29.12.2005, 23:58
Wie viele Zeilen hat die Textdatei denn??

Miles
30.12.2005, 10:59
Die Txt Datei hat höchstens 3 Zeilen!

felix000
30.12.2005, 11:08
Ich hab mich damit noch nicht wirklich beschäftigt, einen ganzen Text als Variable zu setzen, aber man könnte einfach die Zeilenumbrüche rauslöschen...

Ich probier noch ein bissl rum...

Miles
30.12.2005, 11:22
hey, cool danke!

Miles
01.01.2006, 17:18
So, auch ich habe mal ein bisschen rumgebastelt:

Vielleicht habt ihr ja noch ein paar Ideen, wie ich den Inhalt einer Textdatei als Variable abspeichern kann. Würde mir auch passen, wenn jede Zeile eine Variable bekommt, zB 1.Zeile a, 2.Zeile b etc.
Wenn ich es nach der Methode, wie sie hier im Forum vorgestellt wurde, mache, definiert er mir nur die letzte Zeile als Variable, die anderen werden zwar auch definiert, aber durch die nächste Zeile ersetzt. Alles irgendwie ziemlich dumm!

Hier mal meine Batch, ist halt alles ziemlich kompliziert, mir ist nichts besseres eingefallen.
@echo off
cd D:\sms\
if not exist alarm.txt goto ende

:: Definition der Uhrzeit
FOR /F "usebackq tokens=1,2,3 delims=: " %%a IN ('%time%') DO set zeit=%%a:%%b

set gtext=0

find "1" alarm.txt
if %errorlevel%==0 goto checke1
:schleife2
find "2" alarm.txt
if %errorlevel%==0 goto checken2
:schleife3
find "3" alarm.txt
if %errorlevel%==0 goto checken3


:text
wait 5
if %gtext%==0+1 set t="Einsatz Schleife 1"
if %gtext%==0+1+3 set t="Einsatz Schleifen 1 2"
if %gtext%==0+1+3+5 set t="Einsatz Vollalarm Schleifen 1 2 3"
if %gtext%==0+1+5 set t="Einsatz Schleifen 1 3"
@echo %zeiz% %t%
goto ende

:checken1
set gtext=%gtext%+1
wait 5
goto schleife2


:checken2
set gtext=%gtext%+3
wait 5
goto schleife3

:checken3
set gtext=%gtext%+5
goto text

:ende