我正在尝试获取外部文件 PathList.txt 中子文件夹中所有文件的 MD5 值。我无法让脚本使用%%i
.
在我使用的示例"C:\Temp\example\"
中%%i
,脚本将起作用。它还会跳过带有空格的文件,例如C:\folder2\some file.txt
@ECHO off
echo Files MD5 > MD5_log.txt
FOR /F %%i IN (PathList.txt) DO (
@FOR /R "C:\Temp\example\" %%G in (*) DO (
for %%a in (%%G) do certutil -hashfile "%%~a" MD5 | find /i /v "certutil">> MD5_log.txt
)
)
路径列表.txt
C:\folder1\
C:\folder2\
这是针对旧电脑的,我没有 Powershell 选项。
我怎样才能让它工作?谢谢
要使输出更类似于常用工具 md5deep64.exe、MD5SUMS.EXE 等。
并将完整路径包含在与哈希相同的行中,
我建议使用以下内容:
:: Q:\Test\2019\03\19\SO_55243349.cmd
@ECHO off
( echo Files MD5
FOR /F "delims=" %%P IN (.\PathList.txt) DO if exist "%%~fP" (
PushD %%P
FOR /R %%R in (*) DO (
FOR /F %%A in ('certutil -hashfile "%%~R" MD5 ^| find /i /v ":" ') Do Echo %%A %%~fR
)
PopD
) else ( Echo %%~fP not found )
) > MD5_log.txt
示例输出:
> Q:\Test\2019\03\19\SO_55243349.cmd
Files MD5
bea07e6d2b8dce396fe21baa61b34956 A:\a\dmc\foo.txt
81051bcc2cf1bedf378224b0a93e2877 A:\a\dmc\C24117\bar.txt
81051bcc2cf1bedf378224b0a93e2877 A:\b\dmc\bar.txt
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句