我正在尝试找到一种使用PowerShell创建CD或DVD的校验和/哈希的方法。我知道Get-Filehash
在文件上效果很好,但是我不知道如何在光学媒体上使用。我以为我可能可以使用Get-Content
获取比特流并将其通过管道传输到Get-Filehash
,但是运行Get-Content -Path D:\
(其中D:是光盘)返回“访问路径'D:\'is Get-Volume
似乎只返回具有属性的对象,而不返回位流。
我已经有光盘的ISO映像文件。我正在尝试获取整个原始光盘上的校验和,以与ISO进行比较,以确保正确地提取了该校验和。
有任何建议或指示吗?
在您的示例中,Get-Content -Path D:\
失败,因为您没有指向文件。从Get-Content documentation:
指定Get-Content获取内容的项目的路径。允许使用通配符。路径必须是项目的路径,不去容器。例如,您必须指定一个或多个路径文件,而不是目录路径。
即,光驱不是该cmdlet的问题;如果在C:/
驱动器上尝试过该错误,则会看到相同的错误。
根据问题,我不确定您的光盘驱动器是否包含提取的ISO或仅包含ISO,但是类似的操作应该可以使您入门:
Get-ChildItem -Path d:\ -Recurse -File | foreach {
Get-FileHash $_.FullName;
}