1
다음 코드를 사용하고 있습니다. 루프 외부에서 array.bat를 호출하면 다른 출력 값을 사용할 수 있습니다. 나는 전화 도중 사용했다.출력 변수의 값이 루프 내부에서 변경되지 않는 이유 - Windows Batch
EPB
ENF
7
ETO
0
ETO
1
ETO
2
ETO
3
ETO
4
ETO
5
ETO
6
ETO
7
만 그쪽 마지막 값 printted되고 :
@echo off
set empresas[0]=EPB
set empresas[1]=ENF
set empresas[2]=ESE
set empresas[3]=ESS
set empresas[4]=EBO
set empresas[5]=EMG
set empresas[6]=EMT
set empresas[7]=ETO
call array.bat len empresas length
call array.bat getitem empresas 0 empresa1
echo %empresa1%
call array.bat getitem empresas 1 empresa1
echo %empresa1%
echo %length%
for /l %%x in (0, 1, %length%) do (
call array.bat getitem empresas %x% empresa3
echo %empresa3%
echo %%x
)
그 코드는 출력을 생성한다.
[Windows 일괄 변수가 설정되지 않음] 가능한 복제본 (https://stackoverflow.com/questions/9681863/windows-batch-variables-wont-set) – SomethingDark
동일한 질문이 아닙니다. 값은 루프 내에서만 변경되지 않습니다. –
정확히 같은 질문입니다. 지연 확장이 활성화되어 있지 않으면 코드 블록 내에 설정된 변수는 코드 블록 끝까지 업데이트되지 않습니다. – SomethingDark