はので、ここで、よくこれを説明する方法を知りませんでした値がコードCMDは/
@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
で保持していないこれは私が、txtfileで問題を発見していますどこのほんの一例です。 txtには5行があるので、forループは5回、testは+ 1になり、/ aはXの正しい値を表示しますが、forループの最後のエコーは0を表示します。ループの前に設定します。
ループが終了するまで、テストの値は変化していません...これを修正する方法はありますか?
もっと簡単な方法があるかもしれないので、ここで私が達成したいことがあります:findstrのすべてのrtfが一連のサブフォルダ内にあるforループを実行し、すべてを新しい名前ですべてのディレクトリにコピーします。 、1.rtf、2.rtf、3.rtfなどです。転送時に名前を変更する必要がある理由は、すべて同じ名前です。
forループ変数に '%% a'値を送信するのはどうですか?ちょうどそれを何時間も達成できない – xacinay