Ich versuche, Textzeilen aus einer Datei zu lesen, und einen Zähler inkrementieren, damit ich schließlich ein Array in DOS simulieren kann.Wie inkrementiere ich eine DOS-Variable in einer FOR/F-Schleife?
Ich möchte in der Lage sein, die Zeilen Text in einem DOS-Array für die weitere Verarbeitung zu speichern.
Mein aktueller Versuch ist:
set TEXT_T="myfile.txt"
set /a c=1
FOR /F "tokens=1 usebackq" %%i in (%TEXT_T%) do (
set /a c=c+1
echo %%i, %c%
)
Aber die Variable c ist Inkrementieren nicht; es bleibt bei 1.
Vorschläge willkommen.
Dank, Mike
SuperDuper! Genau das habe ich gebraucht. Ich änderte das Skript entsprechend und es läuft jetzt wie erwartet. Danke für die schnelle Antwort. - Mike – Mike
@Mike: Sie sollten diese Antwort als akzeptiert markieren, wenn es Ihr Problem gelöst hat! – Sk8erPeter
@Frank Bollack. Vielen Dank für diese Erklärung, ich habe etwas Neues gelernt. Ich benutzte diese Technik, um diese andere Frage zu beantworten: http://serverfault.com/questions/664202/batch-file-that-kills-a-certain-process. Es funktioniert, aber ich bin mir nicht sicher, wie ich die Variablen außerhalb der FOR-Schleife referenzieren sollte. Macht es einen Unterschied, mit! C! oder% c%, wenn ich nach dem FOR habe? – pgr