Haben Sie nicht wissen, wie diese gut zu erklären, ist so hier den CodeCMD For-Schleife nicht gilt gesetzt/Wert
@echo off
set test=0
for /f %%a in (textfile.txt) do (
rem loops five times(5 lines in textfile.txt)
set /a test=test+1
rem Adds 1 to Test
echo %%a
rem Echo's correct line in file
echo %test%
rem Echo's whatever X was before the loop
)
echo %test%
rem Displays the correct value of X
pause
dies ist nur ein Beispiel dafür, wo ich das Problem bin zu finden, txtfile. txt hat 5 Zeilen, so dass die for-Schleife 5 mal geht, jedes Mal bekommt der Test +1, und das/a zeigt den korrekten Wert von X an, aber das letzte Echo in der for-Schleife zeigt 0 an, was Test ist auf vor der Schleife eingestellt.
Der Wert des Tests ändert sich nicht, bis die Schleife beendet ist ... gibt es eine Möglichkeit, dies zu beheben?
Hier ist, was ich erreichen möchte, da es einen einfacheren Weg geben kann: Ich möchte eine for-Schleife ausführen, die alle RTF-Dateien in einer Reihe von Unterordnern findet und alle in ein Verzeichnis mit einem neuen Namen kopiert , 1.rtf, 2.rtf, 3.rtf usw. Der Grund, warum ich sie bei der Übertragung umbenennen muss, ist, dass sie alle den gleichen Namen haben.
Wie wäre es, '%% a'-Wert an eine For-Loop-Variable zu übertragen? Kann es nur für Stunden erreichen – xacinay