aboutsummaryrefslogtreecommitdiff
path: root/Src/external_dependencies/openmpt-trunk/build/scriptlib/Verify-File.ps1
blob: 607de43df1e3eb42082ec8a69a6f27b7473f2067 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
param([String]$filename="", [Int32]$filesize=0, [String]$hashvalue="", [String]$hashname="SHA512")
Function Get-FileHashWin7([String] $FileName, $HashName) {
	$FileStream = New-Object System.IO.FileStream($FileName,[System.IO.FileMode]::Open)
	$StringBuilder = New-Object System.Text.StringBuilder
	[System.Security.Cryptography.HashAlgorithm]::Create($HashName).ComputeHash($FileStream)|%{[Void]$StringBuilder.Append($_.ToString("x2"))}
	$FileStream.Close()
	$StringBuilder.ToString()
}
Write-Output "Verify " $filename
if ((Get-Item $filename).length -ne $filesize) {
	Write-Output "Failed " $filename
	exit 1
}
if ((Get-FileHashWin7 $filename $hashname) -ne $hashvalue) {
	Write-Output "Failed " $filename
	exit 1
}
exit 0