我正在写一个Batch文件,它可以遍历整个目录(包括所有子目录),并将找到的每个文件的校验和打印到一个 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
谢谢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