当前位置: 首页 > 知识库问答 >
问题:

如何添加校验和以获取子项-递归?

杨慎之
2023-03-14

我一直在使用一个非常简单的Get ChildItem-Recurse命令生成一个文件目录的CSV清单,用于评估所述文件的保留/删除。我是PowerShell的新手,我正在努力使代码尽可能简单,以下是我成功使用的内容:

Get-ChildItem -Recurse | Select-Object FullName, Name, Extension, Length, CreationTime, LastAccessTime, LastWriteTime | Export-Csv "C:\file\path\file_list.csv"

但是我想向选择对象添加一个校验和,我尝试了以下代码,但它创建了一个只有校验和而没有其他文件数据的CSV。校验和应该是CSV中其他选择对象参数旁边的一列。

Get-ChildItem -Recurse | Get-FileHash -Algorithm MD5 | Select-Object FullName, Name, Extension, Length, CreationTime, LastAccessTime, LastWriteTime, Hash | Export-Csv "C:\file\path\file_list.csv"

非常感谢任何帮助,我是PowerShell的新手,谢谢!

共有1个答案

龙毅
2023-03-14

由于要将其作为附加属性添加,因此可以使用如下计算属性。

Get-ChildItem -Recurse |
    Select-Object FullName, Name, Extension, Length, CreationTime, LastAccessTime, LastWriteTime, @{n="Hash";e={(Get-FileHash $_.FullName -Algorithm MD5).hash}} |
        Export-Csv "C:\file\path\file_list.csv"

为了便于阅读和维护,可以使用变量来保存所需的属性,如下所示。

$props = "FullName",
         "Name",
         "Extension",
         "Length",
         "CreationTime",
         "LastAccessTime",
         "LastWriteTime",
         @{n="Hash";e={(Get-FileHash $_.FullName -Algorithm MD5).hash}}

Get-ChildItem -Recurse | Select-Object $props | Export-Csv "C:\file\path\file_list.csv"
 类似资料:
  • 当前没有引入校验相关的jar或辅助类,那我们就手工建一个帮助方法吧 打开UserModule,添加一个方法checkUser protected String checkUser(User user, boolean create) { if (user == null) { return "空对象"; } if (c

  • 问题内容: 我正在寻找使用Java获取文件的MD5校验和。我真的很惊讶,但是我找不到任何能显示如何获取文件的MD5校验和的东西。 怎么做? 问题答案: 有一个输入流装饰器,因此你可以像往常一样在使用输入流的同时计算摘要,而不必对数据进行额外的传递。

  • 问题内容: 我有这个字节数组: 现在,假定此字节数组的CRC校验和为0x60、0x0A。我希望Java代码重新创建此校验和,但是我似乎无法重新创建它。我尝试了crc16: 并使用Integer.toHexString()进行转换,但结果均不匹配正确的CRC。有人可以根据CRC公式指出我正确的方向。 问题答案: 请使用以下代码: 但是,您可能必须反转返回的CRC才能获得正确的字节序。我什至在这里测试

  • 问题内容: 这是我想要做的事情:-我需要一个函数,当将其作为参数传递时,ID(用于事物类别)将提供所有子类别,子子类别和子子子..etc 。-我在考虑使用递归函数,因为我不知道子类别及其子类别的数量,依此类推,这是到目前为止我一直在尝试的操作 如果我使用return而不是echo,我将不会得到相同的结果。我需要一些帮助以解决此问题或从头开始重写它 问题答案: 我很难弄清楚你的职能。我认为这会做您想

  • 在本节中将会给Movie模型添加验证逻辑。并且确保这些验证规则在用户创建或编辑电影时被执行。 拒绝重复 DRY ASP.NET MVC 的核心设计信条之一是DRY: "不要重复自己(DRY --Don’t Repeat Yourself)"。ASP.NET MVC鼓励您指定功能或者行为,只做一次,然后将它应用到应用程序的各个地方。这可以减少您需要编写的代码量,并减少代码出错率,易于代码维护。 给A

  • 因为我每次都希望得到完全相同的数据包,所以当数据包有效时,我希望CRC校验和为零,而当存在传输错误时,我希望CRC校验和不为零。 我知道当发送数据包时,我可以将计算出的CRC16添加到数据包的末尾,并且在接收端,CRC校验将输出0,但是在这种情况下,不可能将CRC16校验和添加到数据包,因为数据包是由SPI线上的多个发送方芯片构造的,每个芯片只填充整个数据包中自己的两个字节。 我需要在接收端加载一