CMD For-Schleife nicht halten Sie set /a Wert

Nicht wissen, wie dies zu erklären naja, also hier ist der code

@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, wo ich finde das problem, txtfile.txt hat 5 Linien, also die for-Schleife geht 5 mal, jedes mal, test, erhält +1 zu, und der /die eine zeigt den richtigen Wert von X, aber das Letzte echo auf die for-Schleife zeigt 0, das ist, was test ist festgelegt, bevor die Schleife.

Den Wert von test ist nicht zu ändern, bis die Schleife fertig ist... gibt es irgendeine Möglichkeit dieses Problem zu beheben?

Ist hier, was möchte ich erreichen, wie kann es einen einfacheren Weg: ich will laufen eine for-Schleife, die findstr alle rtf ' s in einer Reihe von sub-Ordner, und kopiert Sie alle zu einem ganzen Verzeichnis mit einem neuen Namen 1.rtf,2.rtf,3.rtf, etc. Der Grund, warum ich brauchen, um Sie umzubenennen auf den transfer ist, dass Sie alle den gleichen Namen haben.

InformationsquelleAutor | 2009-06-11

Schreibe einen Kommentar