批处理文件。 for循环中的for循环。内部for循环不起作用

时间:2020-11-01 16:02:06

标签: 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 loop中时,变量%size%不会改变。例如,使用此代码(我只进行了一次迭代,但在多次迭代中是相同的):

setlocal enabledelayedexpansion
for /L %%a in (1,1,1) do (
    for /F "usebackq" %%H in ('zlib1.dll') do (
        set size=%%~zH
    )
    echo %size%
)

0 个答案:

没有答案