miczar
Goto Top

Fehler in Schleife

Hallo zusammen,

nachdem ich das letzte Problem weitestgehend selber lösen konnte, stehe ich nun vor einem neuen.

Dieser Code funktioniert alleine so wie er soll. Er sucht in einer alias.cxu nach dem String und kopiert alles was danach aufgelistet ist, in eine neue Datei.

FOR /F "delims=:" %%A IN ('findstr /N /C:"LetzteZeile" "!alias!"') do if not defined ZeilenNr set ZeilenNr=%%A  
	FOR /F "tokens=1,* delims=:" %%A IN ('findstr /N $ "!alias!"') do if %%A GTR !ZeilenNr! echo.%%B>>alias_neu.cxu  


Da ich aber nicht nur einen PC habe sondern mehrere, möchte ich das ganze mit Hilfe einer ProgList.txt (in der die Namen stehen) und einer zusätzlichen Schleife lösen.

Nachfolgend mein Ansatz aber irgendwo mache ich einen Fehler.


FOR /F %%C IN (ProgList.txt) DO (
		SET "ProgPlatz=%%C"  
			IF "%%C"=="EOL" (  
		GOTO :test
	) ELSE (
		FOR /F "delims=:" %%A IN ('findstr /N /C:"LetzteZeile" "%%C"') do if not defined ZeilenNr set ZeilenNr=%%A  
		FOR /F "tokens=1,* delims=:" %%A IN ('findstr /N $ "%%C"') do if %%A GTR !ZeilenNr! echo.%%B>>alias_neu.cxu  
		)
	)

Kann jemand helfen?

Gruß
Mike

Content-Key: 321636

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

Printed on: July 27, 2024 at 12:07 o'clock

Member: miczar
miczar Nov 21, 2016 at 10:24:00 (UTC)
Goto Top
OK, ich habe den Fehler finden können. Der Fehler lag in der ProgList.txt


Jetzt habe ich allerdings noch ein Problem.

Bei einem Test mit 2 Dateien kommt ein falsches Ergebnis raus.

Inhalt Datei 1

0000.33.00186 aaaa 0 0 0
0000.24.00851 bbbb 0 0 0
LetzteZeile
0000.32.01693 cccc 0 0 0
0000.32.01213 eeee 0 0 0


Inhalt Datei 2

0000.32.01695 rrrr 0 0 0
0000.24.01000 sss 0 0 0
LetzteZeile
9254.24.03131 tttt 0 0 0
0000.33.00186 uuu 0 0 0
0000.24.00851 vvv 0 0 0
0000.32.01693 ccc 0 0 0
0000.32.01213 eee 0 0 0

Ausgabe in der neuen Datei

0000.32.01693 cccc 0 0 0
0000.32.01213 eeee 0 0 0
0000.24.00851 vvv 0 0 0
0000.32.01693 ccc 0 0 0
0000.32.01213 eee 0 0 0


Mir fehlen also aus der zweiten Datei 2 Einträge. Eigentlich sollte alles nach LetzteZeile kopiert werden.

Gruß
Mike
Member: miczar
miczar Nov 21, 2016 at 11:05:13 (UTC)
Goto Top
Fehler gefunden.

da die Zeilennummern vom vorherigem Durchlauf noch im Speicher vorhanden waren,

if not defined ZeilenNr set ZeilenNr=%%A

musste ich zu beginn der Schleife die Variable löschen.

Gruß
Mike