Windows 批处理文件。for循环中的for循环。内部for循环不工作
当我想在Windows 批处理文件。for循环中的for循环。内部for循环不工作,windows,for-loop,batch-file,cmd,delayedvariableexpansion,Windows,For Loop,Batch File,Cmd,Delayedvariableexpansion,当我想在for循环中获取文件大小时,我有一种奇怪的行为 为了说明问题,我简化了代码 当我执行这段代码时,它工作了,我有两个正确的文件大小 for /F "usebackq" %%H in ('zlib1.dll') do ( set size=%%~zH ) echo %size% for /F "usebackq" %%H in ('libzstd.dll') do ( set size=%%~zH ) echo %size%
for
循环中获取文件大小时,我有一种奇怪的行为
为了说明问题,我简化了代码
当我执行这段代码时,它工作了,我有两个正确的文件大小
for /F "usebackq" %%H in ('zlib1.dll') do (
set size=%%~zH
)
echo %size%
for /F "usebackq" %%H in ('libzstd.dll') do (
set size=%%~zH
)
echo %size%
但是当我在另一个for循环
中包含此代码时,变量%size%
不会改变。例如,对于这段代码(我只进行了一次迭代,但更多的迭代也是如此):
setlocal enabledelayedexpansion
for /L %%a in (1,1,1) do (
for /F "usebackq" %%H in ('zlib1.dll') do (
set size=%%~zH
)
echo %size%
)