Не знал, как это объяснить, поэтому вот код
@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, то есть тест, установленный перед циклом.
Значение теста не меняется до тех пор, пока цикл не закончится ... есть ли способ это исправить?
Вот что я хочу сделать, так как может быть более простой способ: я хочу запустить цикл for, который находит все rtf findstr в серии подпапок, и копировать их все в каталог all с новым именем 1.rtf, 2.rtf, 3.rtf и т. Д. Причина, по которой мне нужно переименовать их при передаче, состоит в том, что они имеют одинаковое имя.