Autohotkey 检查文件校验和
Autohotkey check file checksum
我需要一个 AHK 脚本,它将 check/compare 指定文件的 MD5 校验和值。
像这样:
'文件“%userprofile%\appsettings\app.ini
”是否有 MD5 校验值A465564D654E56464025456F
?
如果是
Msgbox "not changed"
如果否
filedelete, "%userprofile%\appsettings\app.ini"
- 然后:
filecopy, "%userprofile%\appsettings\app.kackup", "%userprofile%\appsettings\app.ini"
退出脚本
我需要这个 运行 手动 - 按需,而不是持久脚本。
我更喜欢它是一个 Autohotkey 脚本,但如果它太复杂,powershell 或批处理脚本也可以。
谢谢
一个解决方案:
var:= ComObjCreate("WScript.Shell").Exec("cmd.exe /q /c CertUtil -hashfile %userprofile%/appsettings/app.ini MD5").StdOut.ReadAll()
outputArr := (StrSplit(var , "`r`n"))
out:=outputArr[2]
;MsgBox %out%
if(out=="A465564D654E56464025456F"){
Msgbox not changed
ExitApp
}
else{
MsgBox Different MD5- restoring...
filecopy, %userprofile%\appsettings\app.backup, %userprofile%\appsettings\app.ini, 1
ExitApp
}
查看 MD5 散列部分的完整解释 。总结:
We can use the Windows CertUtil tool to find the MD5 hash sum and
Parse the output by StrSpliting it into different lines (The MD5 sum
itself will be on the second line).
脚本的其余部分只是一些逻辑,用于检查散列是否与给定的散列相同 (A465564D654E56464025456F
),如果不相同,filecopy
the .backup
1 onto the .ini
file. Note that we do not need to explicitly call filedelete
if we give filecopy
覆盖文件的能力.
1- 我认为您可能指的是 .backup
文件而不是 .kackup
文件,但我可能是错的。如果您想要 .kackup
文件,请在脚本中将 app.backup
替换为 app.kackup
。
我需要一个 AHK 脚本,它将 check/compare 指定文件的 MD5 校验和值。
像这样:
'文件“%userprofile%\appsettings\app.ini
”是否有 MD5 校验值A465564D654E56464025456F
?
如果是
Msgbox "not changed"
如果否
filedelete, "%userprofile%\appsettings\app.ini"
- 然后:
filecopy, "%userprofile%\appsettings\app.kackup", "%userprofile%\appsettings\app.ini"
- 然后:
退出脚本
我需要这个 运行 手动 - 按需,而不是持久脚本。
我更喜欢它是一个 Autohotkey 脚本,但如果它太复杂,powershell 或批处理脚本也可以。
谢谢
一个解决方案:
var:= ComObjCreate("WScript.Shell").Exec("cmd.exe /q /c CertUtil -hashfile %userprofile%/appsettings/app.ini MD5").StdOut.ReadAll()
outputArr := (StrSplit(var , "`r`n"))
out:=outputArr[2]
;MsgBox %out%
if(out=="A465564D654E56464025456F"){
Msgbox not changed
ExitApp
}
else{
MsgBox Different MD5- restoring...
filecopy, %userprofile%\appsettings\app.backup, %userprofile%\appsettings\app.ini, 1
ExitApp
}
查看 MD5 散列部分的完整解释
We can use the Windows CertUtil tool to find the MD5 hash sum and Parse the output by StrSpliting it into different lines (The MD5 sum itself will be on the second line).
脚本的其余部分只是一些逻辑,用于检查散列是否与给定的散列相同 (A465564D654E56464025456F
),如果不相同,filecopy
the .backup
1 onto the .ini
file. Note that we do not need to explicitly call filedelete
if we give filecopy
覆盖文件的能力.
1- 我认为您可能指的是 .backup
文件而不是 .kackup
文件,但我可能是错的。如果您想要 .kackup
文件,请在脚本中将 app.backup
替换为 app.kackup
。