Hallo!
Ich will auf wunsch Ergebnisse in einer Protokolldatei speichern, wie mach ich das am besten?
Programmieren - alles kontrollieren 4.937 Themen, 20.654 Beiträge
Hi!
Wenn du genau hinsiehst, merkst du dass für die weiteren Untersuchungen der Parameter (und später für die eigentliche Suche) immer %2 genommen wird. ;-)
Durch die Verwendung von SHIFT steht dort aber immer ein anderes Parameter: Zuerst das zweite, dann (nach dem 1. Shift) das zweite dann das dritte, usw.
Nehmen wir an %2 ist /C und %3 ist /P. Wenn wir das erste Mal an :PLOOP (für Prameter-Verarbeitungs-Loop) vorbeikommen, wird "/C" erkannt und mit :USEC weitergemacht.
In USEC wird count gesetzt und dann SHIFT ausgeführt. Jetzt ist %2 mit /P belegt (weil die Parameter ja mit SHIFT nach Links "wandern".
OK, weiter geht's mit PLOOP. (Dann folgt USEP, SHIFT und wieder PLOOP).
Das letzte SHIPT hat nun wieder die Parameter verschoben. Jetzt steht der ursprüngliche Inhalt von %4 in %2. Das sollte jetzt ein zu durchsuchender Filename sein.
OK, die IF-Befhele nach PLOOP finden kein /C oder /P in %2, also landen wir bei DLOOP (für Datei-Verarbeitungs-Loop).
Hier testen wir zuerst, ob %2 leer ist. Wenn in %2 nichts steht, dann wird der Batch beendet.
Wenn aber in %2 etwas enthalten war, dann wird der FIND-Befehl ausgeführt. Dann kommt wieder SHIFT. Und weiter geht's mit DLOOP.
Was steht jetzt in %2? Naja, entweder nichts oder eine weiterer Filename.
Was %varname% bedeutet? Naja, irgendwie muss man ja den Inhalt einer Variable ausgegeben können - immer nur Werte reinschreiben, ist ja auf Dauer doch etwas öde. ;-)
Bis denn
Andreas