Вы пытаетесь установить и повторно использовать переменную среды в цикле.Это не может работать, поскольку cmd
раскрывает все переменные окружения при разборе команды, а не при ее выполнении.Поэтому вам нужно включить отложенное расширение:
setlocal enabledelayedexpansion
set drive=E:
for %%a in (1,2,3,4,5,6,7,8) do (
set folder=%%a
for /R "%drive%\%%a" %%b in (*) do (
copy "%%b" %drive%\!folder!
)
)
(вам также не хватало нескольких закрывающих скобок, я добавил их для вас)
Но вы также можете использовать %%a
.Он все еще должен существовать во внутреннем цикле ...
set drive=E:
for %%a in (1,2,3,4,5,6,7,8) do (
for /R "%drive%\%%a" %%b in (*) do (
copy "%%b" %drive%\%%a
)
)