Не знаю, как объяснить это хорошо, так вот кодCMD For Loop не выполняется установка/значение
@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 раз, каждый раз тест получает +1 к нему, а// отображает правильное значение X, но последнее эхо в цикле for отображает 0, что и является тестом установите перед циклом.
Значение теста не меняется до тех пор, пока цикл не будет закончен ... есть ли способ исправить это?
Вот что я хочу выполнить, поскольку может быть более простой способ: я хочу запустить цикл for, который находит все rtf findstr в серии подпапок и копирует их все во все каталоги с новым именем , 1.rtf, 2.rtf, 3.rtf и т. Д. Причина, по которой мне нужно переименовать их в передаче, - все они имеют одно и то же имя.
Как насчет передачи значения '%% a' любой переменной for-loop? Просто не получишь его в течение нескольких часов – xacinay