私はPowerShellでディレクトリを再帰的に解析し、すべてのファイルと指定された1番目のディレクトリ内のすべてのファイルからすべてのハッシュMD5を取得するスクリプトを作成しようとしています。Powershellでファイルのコピーを見つけるスクリプト
その後、どのハッシュがコピーであるかを確認するために、すべてのハッシュを比較してから、これらのコピーを削除するかどうかを指定します。現時点で
私はこれを持っている:
$UserInput=Read-Host
Get-ChildItem -Path $UserInput -Recurse
$someFilePath = $UserInput
$md5 = New-Object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider
$hash = [System.BitConverter]::ToString($md5.ComputeHash([System.IO.File]::ReadAllBytes($someFilePath)))
$hash
主な問題は、私は「ReadAllBytes」を呼び出し中のエラーを取得することを、ハッシュ部分です。
また、ハッシュを比較するときにハッシュを比較するときに、ハッシュ値が等しい場合はコピーを配列に入れて、削除するのが簡単になるのではないかと疑っています。
あなたはどう思いますか? (私は "SomeFilePath"、MD5もハッシュも使用しているかどうかはわかりません)。
対象とするPowerShellのバージョンは?相対パスとPSプロバイダパスをサポートする 'Get-FileHash'にすべてのファイルハッシングをオフロードすることができます。 –
PS.Version:5.1.14393.1198 BuildVersion 10.0.14393.1198 –