Код проходит по подпапкам (q1
, q2
и т. Д.) В каталоге. Для каждой подпапки есть еще один цикл для для установки нескольких переменных. Я повторил несколько раз. Первый цикл для работает нормально, я вижу, что он проходит через каждую подпапку. Проблема в том, что код только устанавливает переменные в последней подпапке, скажем, q100
. Теперь я помещаю код построчно в cmd.
Я пытался setlocal ENABLEDELAYEDEXPANSION
. Но я не мог видеть, что это работает. Искренне жду помощи!
setlocal ENABLEDELAYEDEXPANSION
for /f %f in ('dir /ad /b ') do (
echo %f
pause
pushd %f
for /d "tokens=1,2 delims=:" %a in ('dir /b *.a*.dat in %f' ) do (
set COM_DATA=%a
echo %COM_DATA%
set COM_V=%f\com-v.dat
echo %COM_V%
set COM_M=%f\com-M.dat
echo %COM_M%
)
chdir
popd
)
endlocal
Вывод, который я ожидал, находится в подпапке q1
, COM_DATA=q1.dat
, в подпапке q2
, COM_DATA=q2.dat
и т. Д.
Имя com_v
и com_M
совпадают в q1
, q2
и т. Д.