我正在尝试编写一个PowerShell脚本,该脚本将图像文件从一个文件夹复制到另一个文件夹,但前提是目标文件夹中不存在这些文件
这些文件是随机命名的。
问题是,即使文件相同,Get-FileHash也会不断返回不同的哈希。
为了简单起见,我生成了以下场景:
我有两个JPG文件,它们是相同的图像。
- 文件大小相同
- 运行
fc.exe /b image1.jpg .tempimage2.jpg
返回FC: no differences encountered
然而,PowerShell为它们提供了不同的哈希:
$oldFileHash = Get-FileHash .image1.jpg -Algorithm "SHA256"
>> $newFileHash = Get-FileHash .tempimage2.jpg -Algorithm "SHA256"
>>
>> $oldFileHash.Hash
>> $newFileHash.Hash
21CE9E2CE18AC46DF13400C4CEFA11FB254D96E9D39BD67FA2F4189ACF4F5D3B
6441924D9D2349D3CFD8164B18DF8DA2FFA9F281DE198E56C0AE4CFDBFBCE8AD
我尝试使用MD5算法而不是SHA256,并且得到了不同的散列。
是什么导致了这种行为?
正如zett42所建议的,这一定是一个测试错误
我已经删除了两个文件夹的内容并重新开始,我的脚本按预期工作