wegginho
Goto Top

Set nur auf bestimmte Zeilen in einer Text-Datei ( cmd substr , left , etc )

Ich möchte eine Text-Datei einlesen und jede Zeile die nicht mit einem Ausrufe- oder Leerzeichen beginnt überspringen.

Hallo Leute,

ich möchte eine Batch-Datei ausführen lassen, die aus folgendem Code besteht:

for /f "eol=#" %%l in (%DateiName%) do set %%l  


Die Datei, die ich auslese sieht wie folgt aus:

!----------------------------------------------------------
!   Firma Name - Envdatei
!----------------------------------------------------------
! Modus
! Typ
! Time
!----------------------------------------------------------

Envvar1=C:\temp1
Envvar2=C:\temp2
Envvar3=C:\temp3


Problem ist jetzt nur, dass alle Zeilen mit "set X" ausgeführt werden. Ich hätte ganz gerne,
dass die Zeilen, die mit "!" oder " " beginnen nicht eingelesen werden. Habe auch schon
so einiges versucht und auch schon andere Mitarbeiter gefragt, da ich sonst C++/Java
programmiere.

Über Hilfe würde ich mich sehr freuen.


Sieht so aus als wäre das hier die Lösung. Man muss selber einfach nochmal lesen, was man
damit machen will und dann nach den Schlüsselwörtern suchen ^^.

FOR /F "eol=- tokens=1,*" %%A in ('find /v "!" %CATENV%') do (  

	@echo %%A %%B

)

Content-Key: 123208

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

Printed on: April 24, 2024 at 20:04 o'clock

Member: bastla
bastla Aug 21, 2009 at 09:08:38 (UTC)
Goto Top
Hallo Wegginho und willkommen im Forum!

Wenn Du "!" als "eol"-Character wählst, sollte sich das Problem erledigt haben (genau für den genannten Zweck gibt's ja schließlich diese Möglichkeit, und die Leerzeilen werden ohnehin ignoriert); ansonsten könnte ev "skip" (siehe dazu "for /?") helfen ...

Grüße
bastla