Anzahl der Durchläufe einer For Schleife zählen
Hallo zusammen,
ich hab da ein "kleines" Problem =>
innerhalb einer batch Datei werden diverse Dateien (mehr als 40000 - laufend mehr bzw weniger) innerhalb einer Verzeichnisstruktur mit einem Programm auf "Integrität" überprüft
Hier die entsprechende Zeile =>
for /R %team% %%a in (*.prt) do @idfvfy.exe -v %%a >> %ziel_log%\%xdatum%_%name_log_file%
das Ergebnis der Prüfung wird in eine log-Datei geschrieben - funktioniert gut - nur hätten wir gerne am Ende gewußt wie oft die Schleife durchlaufen wurde.
Vielleicht hat ja jemand von Euch eine Idee - Danke im voraus
Gruß
Frank
ich hab da ein "kleines" Problem =>
innerhalb einer batch Datei werden diverse Dateien (mehr als 40000 - laufend mehr bzw weniger) innerhalb einer Verzeichnisstruktur mit einem Programm auf "Integrität" überprüft
Hier die entsprechende Zeile =>
for /R %team% %%a in (*.prt) do @idfvfy.exe -v %%a >> %ziel_log%\%xdatum%_%name_log_file%
das Ergebnis der Prüfung wird in eine log-Datei geschrieben - funktioniert gut - nur hätten wir gerne am Ende gewußt wie oft die Schleife durchlaufen wurde.
Vielleicht hat ja jemand von Euch eine Idee - Danke im voraus
Gruß
Frank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 83565
Url: https://administrator.de/forum/anzahl-der-durchlaeufe-einer-for-schleife-zaehlen-83565.html
Ausgedruckt am: 23.12.2024 um 19:12 Uhr
6 Kommentare
Neuester Kommentar
Hi Frank,
das geht nicht so einfach in der gleichen for-Schleife, da die nur sich selbst abarbeitet und nicht wie in einem batch noch andere Variablen hochzählt.
Du könntest den Aufruf der idfvfy.exe also in einen batch schreiben und da auch hochzählen lassen, da immer der gesammte batch arbgearbeitet wird.
Oder, was sehr einfach wäre: Zähl doch einfach die Einträge in Deiner LOG-Datei
Gruß Niko
das geht nicht so einfach in der gleichen for-Schleife, da die nur sich selbst abarbeitet und nicht wie in einem batch noch andere Variablen hochzählt.
Du könntest den Aufruf der idfvfy.exe also in einen batch schreiben und da auch hochzählen lassen, da immer der gesammte batch arbgearbeitet wird.
Oder, was sehr einfach wäre: Zähl doch einfach die Einträge in Deiner LOG-Datei
Gruß Niko
Doch sowas funktioniert auch:
Es stimmt zwar das Variabeln einmal vor der Klammer aufgelöst werden und dann so bleiben (wenn man kein delayed expansion benutzt) aber beim set gehts. Zuweisungen mit set funktionieren. Nur das Anzeigen der Variable in der Schleife mit %zaehler% würde den Wert vor der Klammer bringen (also 0) Nach der Klammer wird aber die Variable vorm echo befehl neu aufgelöst und dann steht der richtige Wert drin.
set zaehler = 0
for /R %team% %%a in (*.prt) do (
@idfvfy.exe -v %%a >> %ziel_log%\%xdatum%_%name_log_file%
set /a zaehler += 1
)
echo Schleife wurde %zaehler% -mal durchlaufen .>> %ziel_log%\%xdatum%_%name_log_file%
Es stimmt zwar das Variabeln einmal vor der Klammer aufgelöst werden und dann so bleiben (wenn man kein delayed expansion benutzt) aber beim set gehts. Zuweisungen mit set funktionieren. Nur das Anzeigen der Variable in der Schleife mit %zaehler% würde den Wert vor der Klammer bringen (also 0) Nach der Klammer wird aber die Variable vorm echo befehl neu aufgelöst und dann steht der richtige Wert drin.