Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PowerShell哈希表到CSV_Powershell_Get Childitem - Fatal编程技术网

PowerShell哈希表到CSV

PowerShell哈希表到CSV,powershell,get-childitem,Powershell,Get Childitem,我使用hashmap获取一些文件名、md5和路径详细信息-问题是我不想使用hashmap,因为我不是在寻找键/值对,而是一个CSV,其中包含名称、全名和md5列-实现这一点的最佳方法是powershell 这是我当前的代码,我想我可以使用它,但我最终不得不“替换”我在最终CSV中不想要的所有key=内容 $MD5Hashes = @{} Get-ChildItem "C:\Users\Tony\Pictures\My Pictures\2009\03" -Recurse -F

我使用hashmap获取一些文件名、md5和路径详细信息-问题是我不想使用hashmap,因为我不是在寻找键/值对,而是一个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用逗号分隔并换行?

使用
选择对象
创建一个包含所有属性的对象,如下所示:

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}}
然后,您可以使用
导出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

使用
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}}
然后,您可以使用
导出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