使用 powershell 对整个目录进行 MD5 校验和哈希

2024-03-28

我正在尝试使用 powershell 为整个目录生成 MD5 校验和。 在 Linux 上,有一个非常有效的 1-liner,如下所示:

$ tar -cf - 某个目录 | md5和

我了解到“tar”现在是 Windows 10 的一部分,并且可以在 PowerShell 中对其进行寻址。 所以我尝试了这个:

tar -cf - C:\data | Get-FileHash -MD5 算法

我从 PowerShell 得到的是这样的:


tar.exe:从成员名称中删除前导驱动器号
Get-FileHash :输入对象无法绑定到命令的任何参数,因为命令不接受管道输入或者输入及其属性与接受管道输入的任何参数不匹配


我的 Shell 设置为德语,因此我通过翻译机运行德语错误文本(https://www.translator.eu/# https://www.translator.eu/#).

我想知道为什么我收到这个特定的错误消息,因为 Get-FileHash 能够处理管道输入,例如:

LS | Get-FileHash -MD5 算法

这个命令就像一个魅力,但它为我提供了每个文件的校验和。 我想要的是完整给定目录的 1 个校验和。

所以,我可能搞砸了一些事情...... - 有什么想法吗?


编辑:这是一种即使所有文件都移动/复制到另一个位置也是一致的替代方法。这个使用所有文件的哈希来创建“主哈希”。由于显而易见的原因,它需要更长的时间运行,但会更可靠。

$HashString = (Get-ChildItem C:\Temp -Recurse | Get-FileHash -Algorithm MD5).Hash | Out-String
Get-FileHash -InputStream ([IO.MemoryStream]::new([char[]]$HashString))

原始的、更快但不太稳健的方法:

$HashString = Get-ChildItem C:\script\test\TestFolders -Recurse | Out-String
Get-FileHash -InputStream ([IO.MemoryStream]::new([char[]]$HashString))

如果需要的话可以压缩成一行,尽管它开始变得越来越难以阅读:

Get-FileHash -InputStream ([IO.MemoryStream]::new([char[]]"$(Get-ChildItem C:\script\test\TestFolders -Recurse|Out-String)"))

基本上它使用来自的信息创建一个内存流Get-ChildItem并将其传递给Get-FileHash.

不确定这是否是一个很好的方法,但它是one way :-)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 powershell 对整个目录进行 MD5 校验和哈希 的相关文章

随机推荐

  • Flask 应用程序中的 js 文件保存在哪里?

    我是 Flask 的新手 并使用它在 localhost 5000 处提供 index html 目前我只有 3 个文件 index html angular js 和 app js 它们都在同一个文件夹中 我将 index html 提供
  • 通过 Google Apps API 创建电子邮件

    我想从我的代码动态创建电子邮件地址 并在一段时间后处理它们 我在整个网络上进行了搜索 但没有找到任何允许人们创建新电子邮件帐户的 API 端点 我正在使用 Google Apps for Businesses 因此他们的文档制作得非常好并由
  • 从 jQuery 集合中获取每个元素的属性值,放入数组中

    我怎样才能获得所有属性 例如href 匹配 jQuery 选择器的所有元素 就像是 var idArray someClass map function return this id get join 工作演示 http jsfiddle
  • Rmarkdown 中评论的快捷方式?

    简单的问题 有人知道 Rmd 中评论的快捷键吗 在 Knit 中 这可以使用 CTRL C 来完成 它会在编写和编码环境中生成注释行 不幸的是 这在 Rmd 中不起作用 目前我必须输入 我正在使用 R studio 在 markdown 部
  • Python Shell:写入一个字节并从串口读取十进制数据

    问题描述 我正在尝试使用 rs232 检索存储在设备上的所有数据 How 对于这个特定设备 我需要 Step 1 发送一个字节 0x80 uInt8 8 位无符号整数 通过串行端口 COM5 并期望收到 0x81 作为响应 Step 2 发
  • C++ 中向量 的 ArgMin?

    我想找到indexC 中的最小值std vector
  • 禁用警报(); [复制]

    这个问题在这里已经有答案了 我无法控制的页面上生成的代码包含警报 有没有 jQuery 或其他方法来禁用alert 工作 我想要禁用 修改的正在生成的 JavaScript 是 function fndropdownurl val 1317
  • SendGrid 发送的密码重置电子邮件链接缺少点(域名上)

    我在 Ruby 和 Rails 框架上使用 SendGrid 邮件程序 在密码重置电子邮件模板中 我们发送一个密码重置链接 其格式如下 https subdomain domainname com password reset token
  • 更改 Exoplayer 中的播放速度

    我正在寻求实现一个具有变速播放 1 0x 1 25x 1 5x 的音频播放器 就像目前市场上典型的有声读物播放器一样 我想使用 Google 的 Exoplayer 库作为我的音频播放器库 但它们似乎不支持变速播放 关于如何实现这个的任何想
  • AVCaptureSession 音频不适用于长视频

    我正在使用 AVCaptureSession 录制带有音频的视频 对于短视频来说一切似乎都正常 但由于某种原因 如果我录制的视频长度超过 12 秒左右 音频就不起作用 Edit 因为这个答案仍然得到点赞 这个答案可以缓解问题 但问题的可能根
  • LoadLibrary 失败:第一次机会异常 0xC0000139(未找到 DLL)- 如何调试?

    我有一个 dll mytest dll 当通过加载时LoadLibrary 返回 NULL 并且 127 作为GetLastError 如果我在 mytest dll 上使用 DependencyWalker 它会报告它应该正确加载并且所有
  • 参数异常应该进行单元测试吗?

    我知道这个问题与之前发布的其他问题非常相似 但我想以适当的方式讨论这个主题 您认为 明显 的异常应该进行单元测试吗 对于明显的异常 我的意思是 例如 由于空参数或空字符串或负数而导致的异常 在我们单元的业务逻辑使我们明显看出这些异常总是会在
  • jQuery 包装集中元素的顺序是否始终与元素在标记中出现的顺序匹配?

    jQuery 包装集中元素的顺序是否保证与元素在标记中出现的顺序相匹配 我问这个问题是因为我需要对一组嵌套元素执行操作 并且我需要始终按照嵌套顺序执行操作 我可以使用以下命令运行该操作吗 each 匹配集上的迭代器并始终获得正确的顺序 或者
  • 有选择地禁用 swaggerUI 中的“尝试一下”

    尽管这里对该主题进行了很长的讨论 https github com swagger api swagger ui issues 156 https github com swagger api swagger ui issues 156 我
  • 等待页面加载

    我正在尝试创建一个等待页面加载的方法javascript 但我有一个错误 可能我没有正确使用该方法 public static void WaitForLoad this IWebDriver driver int timeoutSec 1
  • 为什么 JavaScript 中“0 === -0”为真?

    在最近的一篇文章中http wtfjs com http wtfjs com 一位作者在没有解释的情况下写了以下内容 这恰好是真实的 0 0 returns true 我对 运算符的理解是 如果操作数指向同一个对象 它会返回 true 此外
  • 迭代时从地图(或任何其他 STL 容器)中擦除/删除内容

    据称 当迭代器变得无效时 您不能在迭代时删除 删除容器中的元素 删除满足特定条件的元素的 安全 方法是什么 请只使用 stl 不要使用 boost 或 tr1 EDIT如果我想删除满足特定条件的多个元素 是否有更优雅的方法 也许使用函子和
  • 将带有 html 扩展名的文件重定向到不带扩展名的文件(在 url 中)

    我最近使用 htaccess 更改了我的网站网址 这样我的网址就不会显示文件扩展名 现在我的问题是我创建了一个新的 xml 站点地图 这样我的 url 将是无扩展名的 Google 网站管理员工具告诉我有关重复内容的问题 IE page 和
  • 如何将 IntentService 的结果返回到 Activity 中?

    我正在使用 IntentService 通过 JSON 处理与服务器的网络通信 JSON 服务器部分工作正常 但我无法将结果返回到需要的地方 以下代码显示了我如何从 onClick 内部启动意图服务 然后让该服务更新全局变量以将结果转发回主
  • 使用 powershell 对整个目录进行 MD5 校验和哈希

    我正在尝试使用 powershell 为整个目录生成 MD5 校验和 在 Linux 上 有一个非常有效的 1 liner 如下所示 tar cf 某个目录 md5和 我了解到 tar 现在是 Windows 10 的一部分 并且可以在 P