-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathhash_menu.bat
More file actions
42 lines (32 loc) · 3.8 KB
/
Copy pathhash_menu.bat
File metadata and controls
42 lines (32 loc) · 3.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
:: Adds "Hash" menu entry to the Explorer context menu (hold Shift to activate)
:: [area] all files
:: by github.com/wincmd64
@ECHO OFF
:: Use /u to undo changes
if /i "%1"=="/u" goto undo
reg add "HKCU\Software\Classes\*\shell\wincmd64_Hash" /v "MUIVerb" /d "Hash" /f
reg add "HKCU\Software\Classes\*\shell\wincmd64_Hash" /v "Icon" /d "gpedit.dll" /f
reg add "HKCU\Software\Classes\*\shell\wincmd64_Hash" /v "Extended" /f
reg add "HKCU\Software\Classes\*\shell\wincmd64_Hash" /v "SubCommands" /f
reg add "HKCU\Software\Classes\*\shell\wincmd64_Hash\shell\01_SHA1" /v "MUIVerb" /d "SHA1" /f
reg add "HKCU\Software\Classes\*\shell\wincmd64_Hash\shell\01_SHA1" /v "Icon" /d "powershell.exe" /f
reg add "HKCU\Software\Classes\*\shell\wincmd64_Hash\shell\01_SHA1\command" /ve /d "powershell.exe -NoP -C \"Write-Host ' Calculating checksum...'; $h = (Get-FileHash -LiteralPath '%%1' -Algorithm SHA1).Hash; $h ^| Set-Clipboard; Clear-Host; Write-Host $h `n`n SHA1 copied!`n; sleep 5\"" /f
reg add "HKCU\Software\Classes\*\shell\wincmd64_Hash\shell\02_SHA256" /v "MUIVerb" /d "SHA256" /f
reg add "HKCU\Software\Classes\*\shell\wincmd64_Hash\shell\02_SHA256" /v "Icon" /d "powershell.exe" /f
reg add "HKCU\Software\Classes\*\shell\wincmd64_Hash\shell\02_SHA256\command" /ve /d "powershell.exe -NoP -C \"Write-Host ' Calculating checksum...'; $h = (Get-FileHash -LiteralPath '%%1' -Algorithm SHA256).Hash; $h ^| Set-Clipboard; Clear-Host; Write-Host $h `n`n SHA256 copied!`n; sleep 5\"" /f
reg add "HKCU\Software\Classes\*\shell\wincmd64_Hash\shell\03_SHA384" /v "MUIVerb" /d "SHA384" /f
reg add "HKCU\Software\Classes\*\shell\wincmd64_Hash\shell\03_SHA384" /v "Icon" /d "powershell.exe" /f
reg add "HKCU\Software\Classes\*\shell\wincmd64_Hash\shell\03_SHA384\command" /ve /d "powershell.exe -NoP -C \"Write-Host ' Calculating checksum...'; $h = (Get-FileHash -LiteralPath '%%1' -Algorithm SHA384).Hash; $h ^| Set-Clipboard; Clear-Host; Write-Host $h `n`n SHA384 copied!`n; sleep 5\"" /f
reg add "HKCU\Software\Classes\*\shell\wincmd64_Hash\shell\04_SHA512" /v "MUIVerb" /d "SHA512" /f
reg add "HKCU\Software\Classes\*\shell\wincmd64_Hash\shell\04_SHA512" /v "Icon" /d "powershell.exe" /f
reg add "HKCU\Software\Classes\*\shell\wincmd64_Hash\shell\04_SHA512\command" /ve /d "powershell.exe -NoP -C \"Write-Host ' Calculating checksum...'; $h = (Get-FileHash -LiteralPath '%%1' -Algorithm SHA512).Hash; $h ^| Set-Clipboard; Clear-Host; Write-Host $h `n`n SHA512 copied!`n; sleep 5\"" /f
reg add "HKCU\Software\Classes\*\shell\wincmd64_Hash\shell\05_MD5" /v "MUIVerb" /d "MD5" /f
reg add "HKCU\Software\Classes\*\shell\wincmd64_Hash\shell\05_MD5" /v "Icon" /d "powershell.exe" /f
reg add "HKCU\Software\Classes\*\shell\wincmd64_Hash\shell\05_MD5\command" /ve /d "powershell.exe -NoP -C \"Write-Host ' Calculating checksum...'; $h = (Get-FileHash -LiteralPath '%%1' -Algorithm MD5).Hash; $h ^| Set-Clipboard; Clear-Host; Write-Host $h `n`n MD5 copied!`n; sleep 5\"" /f
reg add "HKCU\Software\Classes\*\shell\wincmd64_Hash\shell\06_All" /v "MUIVerb" /d "Show all" /f
reg add "HKCU\Software\Classes\*\shell\wincmd64_Hash\shell\06_All" /v "Icon" /d "powershell.exe" /f
reg add "HKCU\Software\Classes\*\shell\wincmd64_Hash\shell\06_All" /v "CommandFlags" /t REG_DWORD /d 32 /f
reg add "HKCU\Software\Classes\*\shell\wincmd64_Hash\shell\06_All\command" /ve /d "powershell -NoP -C \"Get-FileHash -LiteralPath '%%1' -Algorithm SHA1 ^| Format-List; Get-FileHash -LiteralPath '%%1' -Algorithm SHA256 ^| Format-List; Get-FileHash -LiteralPath '%%1' -Algorithm SHA384 ^| Format-List; Get-FileHash -LiteralPath '%%1' -Algorithm SHA512 ^| Format-List; Get-FileHash -LiteralPath '%%1' -Algorithm MD5 ^| Format-List; pause\"" /f
color A & timeout 1 & exit
:undo
reg delete "HKCU\Software\Classes\*\shell\wincmd64_Hash" /f && (color A & timeout 2) || (echo. & pause)