如何解决具有路径和哈希的Powershell输出
我有以下要求: 我已将数千个文件复制到新服务器,现在需要对原始服务器进行核对。但这些记录是完整的,因此必须进行哈希处理(SHA1很好)。
这是我到目前为止所拥有的:
gpaw info
但是现在我想将SHA1哈希添加到我的输出中,但是卡住了……我尝试了以下操作:
ImportError: /work/ccse-xiezy/anaconda3/lib/python3.7/site-packages/gpaw-20.1.0-py3.7-linux-x86_64.egg/_gpaw.cpython-37m-x86_64-linux-gnu.so: undefined symbol: dsyr2k_
任何帮助将不胜感激。
我的下一步将是使用全名在新服务器上找到相同文件并进行比较...(同时输出到文件中;-)
预先感谢
解决方法
喜欢Nuke的评论,只要您有心。最喜欢的招式:
我说我们要起飞并将整个站点从轨道上移开。这是唯一的 确定方式。
无论如何,由Get-FileHash生成的PSCustomObject上没有扩展属性。如果尝试将哈希字符串添加到对象,则可以使用Select-Object
命令来完成。可能看起来像这样:
Get-ChildItem -Path X:\1999 -Recurse -File -Force |
Where-Object{ $_.extension-match "xxx" -or $_.extension-match 'Z[0-9A-Z][0-9A-Z]' } |
Select-Object *,@{ Name = 'Hash'; Expression = { (Get-FileHash $_.FullName).Hash }}
注意:我不确定您对$ctr
或$x
的处理方式。如果使用序列号分配ID属性,则可以使用典型的For循环分配迭代变量的值。
如果要使用ID交叉引用和比较文件,则可能容易出错。您无法保证Get-ChildItem
会以相同的顺序列出文件,因此比较散列可能会失败。您也许可以使用Compare-Object
命令来查看目标服务器中缺少哪些哈希,甚至可以随后复制该文件。坦白地说,即使是Where-Object
也会促进这一点。
告诉我更多有关来源和目的地的信息。还有什么是实际的工作流程。很高兴添加更多演示...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。