批量文件 - 循环中的空变量值[重复]

问题描述 投票:-2回答:1

我正在写一个Batch文件,它可以遍历整个目录(包括所有子目录),并将找到的每个文件的校验和打印到一个 checksum.txt文本文件中。

似乎我加粗的两个ECHO语句都会返回变量count和var的空值,这意味着最终创建的checksum.txt文件是空的。

setlocal ENABLEDELAYEDEXPANSION

For /R "C:\Users\MyName\Desktop\SourceDir" %%G in (*) do (
SET /A count=1
    FOR /F "tokens=* USEBACKQ" %%F IN (`certutil -hashfile "%%G" sha256`) DO (
            SET var!count!=%%F
            SET /A count=!count!+1

echo ****************************************** %count% %var1%
        )
echo ****************************************** %var1%
SET FILECHECKSUM=%var1% %var2%

>>"CHECKSUM.TXT" echo(%FILECHECKSUM%

)

timeout /t -1
batch-file variables
1个回答
0
投票

谢谢Stephan,HackingAddict1337和Squashman。

我现在用下面的代码设法让它工作。

setlocal ENABLEDELAYEDEXPANSION

For /R "C:\Users\MyName\Desktop\SourceDir" %%G in (*) do (
SET /A count=1
    FOR /F "tokens=* USEBACKQ" %%F IN (`certutil -hashfile "%%G" sha256`) DO (
            SET var!count!=%%F
            SET /a count=!count!+1
echo xxxxxxxxxxxxxxx !count! !var1!
        )

SET FILECHECKSUM=!var1! , !var2!

>>"CHECKSUM.csv" echo(!FILECHECKSUM!

)


timeout /t -1
© www.soinside.com 2019 - 2024. All rights reserved.