gelöst For /f
Worker734 (Level 1) - Jetzt verbinden
05.11.2005, aktualisiert 06.11.2005, 14901 Aufrufe, 7 Kommentare
Hi,
wie kann ich die schleife abfangen wenn die Liste abgearbeitet wurde?
Damit ich noch eine Meldung vor dem beenden ausgeben kann.
bei meinem Versuch komm er nicht mehr dazu.
For /F "tokens=1,2* " %%i in (%list%) do call :copy %%i %%j
goto :eof
:copy
if "%1"=="" goto :exit
wie kann ich die schleife abfangen wenn die Liste abgearbeitet wurde?
Damit ich noch eine Meldung vor dem beenden ausgeben kann.
bei meinem Versuch komm er nicht mehr dazu.
For /F "tokens=1,2* " %%i in (%list%) do call :copy %%i %%j
goto :eof
:copy
if "%1"=="" goto :exit
7 Antworten
- LÖSUNG Biber schreibt am 06.11.2005 um 00:24:25 Uhr
- LÖSUNG Worker734 schreibt am 06.11.2005 um 09:11:25 Uhr
- LÖSUNG nullplan001 schreibt am 06.11.2005 um 11:43:16 Uhr
- LÖSUNG Worker734 schreibt am 06.11.2005 um 13:30:33 Uhr
- LÖSUNG Biber schreibt am 06.11.2005 um 13:46:59 Uhr
- LÖSUNG Worker734 schreibt am 06.11.2005 um 14:41:47 Uhr
- LÖSUNG Worker734 schreibt am 06.11.2005 um 17:37:35 Uhr
- LÖSUNG Worker734 schreibt am 06.11.2005 um 14:41:47 Uhr
- LÖSUNG Biber schreibt am 06.11.2005 um 13:46:59 Uhr
- LÖSUNG Worker734 schreibt am 06.11.2005 um 13:30:33 Uhr
LÖSUNG 06.11.2005 um 00:24 Uhr
Moin Worker734,
bin nicht ganz sicher, ob ich Deine Frage richtig verstehe...
..
For /F "tokens=1,2* " %%i in (%list%) do call :copy %%i %%j
echo Hier ist die Liste abgearbeitet und hier hast du alle Zeit der Welt zum Meldung ausgeben.
goto :eof
..
und die Prüfung
if "%1"=="" ....kann IMHO nie greifen, da niemals ein leeres (erstes) Listenelement übergeben werden kann.
Kann zwar sein, dass der zweite Parameter (%%j) leer ist, aber der erste nie.
Wenn ich Deine Frage nicht verstanden habe, poste bitte noch mal.
Biber
bin nicht ganz sicher, ob ich Deine Frage richtig verstehe...
..
For /F "tokens=1,2* " %%i in (%list%) do call :copy %%i %%j
echo Hier ist die Liste abgearbeitet und hier hast du alle Zeit der Welt zum Meldung ausgeben.
goto :eof
..
und die Prüfung
if "%1"=="" ....kann IMHO nie greifen, da niemals ein leeres (erstes) Listenelement übergeben werden kann.
Kann zwar sein, dass der zweite Parameter (%%j) leer ist, aber der erste nie.
Wenn ich Deine Frage nicht verstanden habe, poste bitte noch mal.
Biber
LÖSUNG 06.11.2005 um 09:11 Uhr
Hi Biber,
die schleife arbeitet die Liste ab und dabei möchte ich keine Meldung erzeugen, aber
wenn die Schleife die Liste abgearbeitet hat und somit am Ende der Liste angelangt ist
möchte sozusagen eine Meldung zum Abschluss abgeben.
Danke und Gruß
die schleife arbeitet die Liste ab und dabei möchte ich keine Meldung erzeugen, aber
wenn die Schleife die Liste abgearbeitet hat und somit am Ende der Liste angelangt ist
möchte sozusagen eine Meldung zum Abschluss abgeben.
Danke und Gruß
LÖSUNG 06.11.2005 um 11:43 Uhr
Kann sein, dass ich dich nicht 100% verstanden habe, oder aber du siehst den Wald vor Lauter Bäumen nicht. Schreib doch einfach:
<pre>:eof
echo Fattig!!</pre>
Also, lass ihn die Meldung doch beim Aussprung angeben. Ich hoffe zumindest, du meintest das.
<pre>:eof
echo Fattig!!</pre>
Also, lass ihn die Meldung doch beim Aussprung angeben. Ich hoffe zumindest, du meintest das.
LÖSUNG 06.11.2005 um 13:30 Uhr
Hi,
was an meiner Erklärung ist denn nicht verständlich?
Gruß
was an meiner Erklärung ist denn nicht verständlich?
Gruß
LÖSUNG 06.11.2005 um 13:46 Uhr
Moin Worker734,
Das hier:
Ja, was denn nun? "Schleife abfangen".. da dachte ich zuerst, du meintest etwas wie "Exit For" aus anderen Skriptsprachen. Vorzeitig aus der FOR..IN..DO-Schleife aussteigen. Aber "wenn die Liste abgearbeitet wurde" spricht gegen diese Interpretation.
Deshalb die Rückfragen.
Grüße Biber
was an meiner Erklärung ist denn nicht verständlich?
wie kann ich die schleife abfangen wenn die Liste abgearbeitet wurde?
Deshalb die Rückfragen.
Grüße Biber
LÖSUNG 06.11.2005 um 14:41 Uhr
Hi,
Ich habe eine Liste z.B.
PC1
PC2
PC3
diese werden ausgelesen und mit call :copy %%i %%j
einer Subroutine übergeben.
Wenn die For...Schleife nun die Liste durchlaufen ist und sozusagen den
letzten PC, in diesem Fall PC3, ausgelesen hat, soll nach der Subroutine das
Script nicht sofort beendet werden sondern z.B. eine Meldung anzeigen
Letzter Eintrag in der Liste wurde erreicht!
Besser?
Danke und Gruß
Ich habe eine Liste z.B.
PC1
PC2
PC3
diese werden ausgelesen und mit call :copy %%i %%j
einer Subroutine übergeben.
Wenn die For...Schleife nun die Liste durchlaufen ist und sozusagen den
letzten PC, in diesem Fall PC3, ausgelesen hat, soll nach der Subroutine das
Script nicht sofort beendet werden sondern z.B. eine Meldung anzeigen
Letzter Eintrag in der Liste wurde erreicht!
Besser?
Danke und Gruß
LÖSUNG 06.11.2005 um 17:37 Uhr
Dank Biber geht es.
Danke
Danke
Ähnliche Inhalte
Neue Wissensbeiträge
Heiß diskutierte Inhalte