我想保存
的结果CertUtil -hashfile "path_to_file" MD5
到变量并删除命令行命令中的散列空格(更具体地说,我想在VS 2015 C ++中的后处理命令行中使用它。)
目前结果如下:
1)C:\ Users \ admin> CertUtil -hashfile ping.txt MD5
2)文件的MD5哈希ping.txt:
3)4f 75 c2 2c 20 b4 81 54 72 2c a5 7c 95 7a 66 88
4)CertUtil: -hashfile命令成功完成。
我只需要行3)
- 将hexa字符串保存到变量中,然后删除空格。
非常感谢!
答案 0 :(得分:11)
我完全迟到了,但是如何使用find去除不需要的行:
CertUtil -hashfile "path_to_file" MD5 | find /i /v "md5" | find /i /v "certutil"
答案 1 :(得分:3)
您可以随时使用MD5.bat:
call MD5.bat "path_to_file" md5_var
echo %md5_var%
如果不想要一个全新的单独脚本,你只需使用链接中的最后一个for循环。
答案 2 :(得分:3)
尽管有上述答案,但典型的 setlocal enabledelayedexpansion 问题
@echo off
setlocal enabledelayedexpansion
set /a count=1
for /f "skip=1 delims=:" %%a in ('CertUtil -hashfile "ping.txt" MD5') do (
if !count! equ 1 set "md5=%%a"
set/a count+=1
)
set "md5=%md5: =%
echo %md5%
endlocal
exit/B
答案 3 :(得分:0)
使用powershell命令:
&array