bat文件只为一个文件生成MD5校验和
Bat file to only generate a MD5 checksum for a file
我一直在寻找一种方法来创建一个 bat 文件来生成文件的 MD5 校验和。
我尝试了 fciv
和其他一些方法,但它们都生成了一个包含附加信息(例如路径和文件名等)的文件。我只需要 MD5,不需要其他任何东西。
有人给我指出正确的方向吗?
这个命令行
fciv new.xml -md5 -r -xml new.xml.md5
创建一个包含以下内容的文件:
<?xml version="1.0" encoding="utf-8"?>
<FCIV>
<FILE_ENTRY><name>new.xml</name><MD5>OuX4jSQyl91+M1fUQZeGtw==</MD5></FILE_ENTRY></FCIV>
我只需要 MD5 校验和。
这是一个非常精简的 certutil 包装器,没有任何 arg/error 检查:
@Echo off
:: Pass the file to hash as the only arg
Set "MD5="
For /f "skip=1 Delims=" %%# in (
'certutil -hashfile "%~f1" MD5'
) Do If not defined MD5 Set MD5=%%#
Set MD5=%MD5: =%
Echo:%MD5%
输出散列这批本身
b873bbcd93873a6aa320cd64a1751d8a
使用您在问题中展示的 FCIV 工具,您似乎在 XML 中以 base64 格式输出结果,而这不是您所要求的。
您仍然可以像这样使用它来获取名为 new.xml:
的文件的 MD5
For /F "EOL=/" %A In ('FCIV new.xml') Do @Echo(%A
这假设 MD5 仍然是 FCIV 的默认输出并且它是 运行 来自 cmd.exe window 正确 knows/accesses FCIV.exe 的位置
[编辑/]
批处理文件格式的扩展示例。
@Echo Off
Set "MyFile=new.xml"
Set "MD5="
For /F "EOL=/" %%A In ('FCIV "%MyFile%"') Do Set "MD5=%%A"
If Defined MD5 Echo(%MD5%
Timeout -1
单词 new.xml 甚至可以用 %~1 替换,然后您可以将文件拖放到它上面以输出它的哈希值。
我一直在寻找一种方法来创建一个 bat 文件来生成文件的 MD5 校验和。
我尝试了 fciv
和其他一些方法,但它们都生成了一个包含附加信息(例如路径和文件名等)的文件。我只需要 MD5,不需要其他任何东西。
有人给我指出正确的方向吗?
这个命令行
fciv new.xml -md5 -r -xml new.xml.md5
创建一个包含以下内容的文件:
<?xml version="1.0" encoding="utf-8"?>
<FCIV>
<FILE_ENTRY><name>new.xml</name><MD5>OuX4jSQyl91+M1fUQZeGtw==</MD5></FILE_ENTRY></FCIV>
我只需要 MD5 校验和。
这是一个非常精简的 certutil 包装器,没有任何 arg/error 检查:
@Echo off
:: Pass the file to hash as the only arg
Set "MD5="
For /f "skip=1 Delims=" %%# in (
'certutil -hashfile "%~f1" MD5'
) Do If not defined MD5 Set MD5=%%#
Set MD5=%MD5: =%
Echo:%MD5%
输出散列这批本身
b873bbcd93873a6aa320cd64a1751d8a
使用您在问题中展示的 FCIV 工具,您似乎在 XML 中以 base64 格式输出结果,而这不是您所要求的。
您仍然可以像这样使用它来获取名为 new.xml:
的文件的 MD5For /F "EOL=/" %A In ('FCIV new.xml') Do @Echo(%A
这假设 MD5 仍然是 FCIV 的默认输出并且它是 运行 来自 cmd.exe window 正确 knows/accesses FCIV.exe 的位置
[编辑/]
批处理文件格式的扩展示例。
@Echo Off
Set "MyFile=new.xml"
Set "MD5="
For /F "EOL=/" %%A In ('FCIV "%MyFile%"') Do Set "MD5=%%A"
If Defined MD5 Echo(%MD5%
Timeout -1
单词 new.xml 甚至可以用 %~1 替换,然后您可以将文件拖放到它上面以输出它的哈希值。