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

Ausgedruckt am: 29.03.2024 um 10:03 Uhr

Mitglied: miczar
miczar 21.11.2016 um 11:24:00 Uhr
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
Mitglied: miczar
miczar 21.11.2016 um 12:05:13 Uhr
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