本地用户的上下文菜单文件哈希

时间:2017-10-23 15:40:02

标签: batch-file registry md5 sha1 sha256

这是获取文件哈希的非常好的工具(md5,sha1,sha256) https://github.com/anseki/hashfile-contextmenu/

但是本地用户无法访问HKEY_CLASSES_ROOT

1)HKEY_CURRENT_USER中的等价字符串键是什么,可能吗?

2)任何人都可以重写简单BAT文件的命令吗?

1 个答案:

答案 0 :(得分:0)

不需要批处理文件,在self.init(views:)文件中只需替换以下所有实例:

.reg

使用

HKEY_CLASSES_ROOT

还要记住,HKEY_CURRENT_USER\Software\Classes 文件通常需要.reg

如果您确实需要使用批处理文件,那么以下内容大致相当于使用Run as administrator

hashfile-contextmenu-add.reg

修改

由于您的意见,我根本不理解。

@Echo Off Rem MD5 Reg Add "HKCU\Software\Classes\*\shell\hashfileMD5" /VE /D "Copy MD&5" /F>Nul Reg Add "HKCU\Software\Classes\*\shell\hashfileMD5\command" /VE /D "Cmd /Q /V:ON /C \"For /F \"Delims=\" %%%%A In ('CertUtil -hashfile \"%%L\" MD5^^^|FindStr/V \":\"') Do Set \"hash=%%%%A\"^&Set/P \"=!hash: =!\"^<Nul^|Clip\"" /F>Nul Rem SHA1 Reg Add "HKCU\Software\Classes\*\shell\hashfileSHA1" /VE /D "Copy SHA&1" /F>Nul Reg Add "HKCU\Software\Classes\*\shell\hashfileSHA1\command" /VE /D "Cmd /Q /V:ON /C \"For /F \"Delims=\" %%%%A In ('CertUtil -hashfile \"%%L\" SHA1^^^|FindStr/V \":\"') Do Set \"hash=%%%%A\"^&Set/P \"=!hash: =!\"^<Nul^|Clip\"" /F>Nul Rem SHA256 Reg Add "HKCU\Software\Classes\*\shell\hashfileSHA256" /VE /D "Copy SHA&256" /F>Nul Reg Add "HKCU\Software\Classes\*\shell\hashfileSHA256\command" /VE /D "Cmd /Q /V:ON /C \"For /F \"Delims=\" %%%%A In ('CertUtil -hashfile \"%%L\" SHA256^^^|FindStr/V \":\"') Do Set \"hash=%%%%A\"^&Set/P \"=!hash: =!\"^<Nul^|Clip\"" /F>Nul 类型的文件通常需要以管理员身份运行,不考虑注册表中的特定位置。

以下是三个不同的脚本,每个脚本都使用了可以从您自己的注册表中检索到的命令,在完成上面建议的替换后,合并了.reg文件或我上面的&#39 ;批次&#39;脚本

.reg

Get-MD5.cmd

@Echo Off SetLocal EnableDelayedExpansion For /F "Delims=" %%A In ('CertUtil -hashfile "%~1" MD5^|FindStr/V ":"') Do Set "hash=%%A"&Set/P "=!hash: =!"<Nul|Clip

Get-SHA1.cmd

@Echo Off SetLocal EnableDelayedExpansion For /F "Delims=" %%A In ('CertUtil -hashfile "%~1" SHA1^|FindStr/V ":"') Do Set "hash=%%A"&Set/P "=!hash: =!"<Nul|Clip

Get-SHA256.cmd

请注意我使用了@Echo Off SetLocal EnableDelayedExpansion For /F "Delims=" %%A In ('CertUtil -hashfile "%~1" SHA256^|FindStr/V ":"') Do Set "hash=%%A"&Set/P "=!hash: =!"<Nul|Clip 扩展程序来批量处理&#39;脚本,但如果你在上个世纪感觉更舒服,你可以将它改为.cmd