场景
在不同电脑上做文件对比,需要找出有差异的文件做更新,这个方案是获取所有文件的md5后再进行对比
# 设置要扫描的文件夹路径 $folderPath = "C:\path\to\your\directory" # 设置结果输出文件路径 $outputFile = "C:\path\to\md5.txt" # 获取文件夹内所有文件的MD5哈希值,并输出到文件中 Get-ChildItem -Path $folderPath -Recurse | Where-Object { !$_.PSIsContainer } | ForEach-Object { $hash = Get-FileHash $_.FullName -Algorithm MD5 "$($hash.Hash) *$($_.FullName)" | Out-File -Append -FilePath $outputFile } # 输出操作完成信息Write-Host "MD5 hashes calculated and saved to $outputFile"
PowerShell 脚本通常保存为 .ps1 文件格式。这是 PowerShell 脚本的标准扩展名,表明该文件是一个 PowerShell 脚本。您可以按照以下步骤创建一个 .ps1 脚本文件:
打开 Windows 上的文本编辑器,如记事本(Notepad)。
将上面的PowerShell代码复制并粘贴到文本编辑器中。
将文件保存时选择“所有文件(.)”作为文件类型,并将文件命名为您喜欢的名称,确保它的扩展名是 .ps1。例如: Get-MD5Hashes.ps1。
选择您想要保存脚本的位置,然后点击保存。
保存后,您可以通过右键点击.ps1文件并选择"使用 PowerShell 运行"来执行脚本。出于安全原因,Windows 默认禁用了 PowerShell 脚本的执行,如果您从未更改过这个设置,您可能需要更改您的 PowerShell 执行策略。您可以通过以下命令来查看当前的执行策略:
Get-ExecutionPolicy
如果返回的结果是 Restricted,您可以通过运行以下命令来设置为允许本地脚本执行:
Set-ExecutionPolicy RemoteSigned
执行这个命令后,系统会要求您确认更改执行策略,输入 Y 即可确认。注意,修改执行策略可能会影响到系统的安全性,只有在您信任您要运行的脚本时才应该更改。
执行上述操作之后,您就可以运行准备好的 PowerShell 脚本了。