【问题标题】:PowerShell hashtable to CSVPowerShell 哈希表到 CSV
【发布时间】:2021-05-29 08:09:31
【问题描述】:

我正在使用哈希图来获取一些文件名、md5 和路径详细信息 - 问题是我不认为我想要哈希图,因为我并不是真的在寻找键/值对,而是在 CSV 中包含名称、全名和 md5 的列 - 完成此任务的最佳方法是 powershell?

这是我想我可以使用的当前代码,但最终我不得不“替换”我最终 CSV 中不需要的所有 key= 内容。

$MD5Hashes = @{}
Get-ChildItem "C:\Users\Tony\Pictures\My Pictures\2009\03" -Recurse -File |  ForEach-Object {
  $MD5Hashes.Add($_.Name, (Get-FileHash -Path $_.FullName -Algorithm MD5 | Select-Object -Property * -ExcludeProperty Algorithm ))
}

难道没有一种简单的方法来获取-ChildItem 并且只需用逗号分隔并换行每个名称、全名和 md5 吗?

【问题讨论】:

    标签: powershell get-childitem


    【解决方案1】:

    使用Select-Object 创建一个具有您想要的所有属性的对象,如下所示:

    Get-ChildItem "C:\Users\Tony\Pictures\My Pictures\2009\03" -Recurse -File | select-object name, fullname, @{Name = "MD5"; Expression = {(Get-FileHash $_.FullName -Algorithm MD5).Hash}}
    

    然后您可以使用 Export-CSV 将对象导出到 csv 文件中:

    Get-ChildItem "C:\Users\Tony\Pictures\My Pictures\2009\03" -Recurse -File | select-object name, fullname, @{Name = "MD5"; Expression = {(Get-FileHash $_.FullName -Algorithm MD5).Hash}} | export-csv FilesWithHashs.csv -NoTypeInformation
    

    【讨论】:

      猜你喜欢
      • 2018-01-22
      • 2019-04-27
      • 2021-12-10
      • 2013-11-09
      • 2018-09-16
      • 1970-01-01
      • 2018-10-01
      • 2013-02-05
      • 2014-06-18
      相关资源
      最近更新 更多