导出 CSV 将结果写入单行,如何获取多行?
Export CSV Writes Results to Single Line, How Do I get Multiple Lines?
我正在共享驱动器上寻找重复项,这样我就可以让用户知道,他们可以在我们使用任何自动化功能之前清理它。我最大的副本接近 400 份,但信息都在一行上。
我的查询得到了正确的结果:
$a = Get-ChildItem -Path "S:\" -File -Recurse |
Select-Object -Property Fullname, @{N='Hash';E={(Get-FileHash $_.FullName).Hash}}
$cnt = $a | Group-Object -Property Hash
$cnt |
Select-Object Count, @{N='FullName';E={($_.Group).FullName}}, @{N='Hash';E={($_.Group).Hash}} |
Sort-Object -Property Count -Descending |
Export-Csv C:\Temp\S_Drive_Counts.csv
这是我的结果示例,其中每个条目都在一行中:
"Count","FullName","Hash"
"2","S:\Generation 1\Certification Authority.txt S:\Generation 2\Certification Authority.txt","498868376A5377F731593E9F96EC99F34C69F47537C81B9B32DBAC9321462B83 498868376A5377F731593E9F96EC99F34C69F47537C81B9B32DBAC9321462B83"
虽然我需要传递此信息,所以我希望每个条目单独占一行,类似于此:
"Count","FullName","Hash"
"2","S:\Generation 1\Certification Authority.txt","498868376A5377F731593E9F96EC99F34C69F47537C81B9B32DBAC9321462B83"
"2","S:\Generation 2\Certification Authority.txt","498868376A5377F731593E9F96EC99F34C69F47537C81B9B32DBAC9321462B83"
如果需要,我可以对 CSV 文件进行一些字符串操作,但我正在寻找一种方法在导出到 CSV 文件之前以正确的格式获取它。
展开您的群组。另外,更好地利用管道。
Get-ChildItem -Path 'S:\' -File -Recurse |
Select-Object Fullname, @{n='Hash';e={(Get-FileHash $_.FullName).Hash}} |
Group-Object Hash |
ForEach-Object {
$cnt = $_.Count
$_.Group | Select-Object @{n='Count';e={$cnt}}, FullName, Hash
} |
Sort-Object Count, Hash, FullName -Descending |
Export-Csv 'C:\Temp\S_Drive_Counts.csv' -NoType
我正在共享驱动器上寻找重复项,这样我就可以让用户知道,他们可以在我们使用任何自动化功能之前清理它。我最大的副本接近 400 份,但信息都在一行上。
我的查询得到了正确的结果:
$a = Get-ChildItem -Path "S:\" -File -Recurse |
Select-Object -Property Fullname, @{N='Hash';E={(Get-FileHash $_.FullName).Hash}}
$cnt = $a | Group-Object -Property Hash
$cnt |
Select-Object Count, @{N='FullName';E={($_.Group).FullName}}, @{N='Hash';E={($_.Group).Hash}} |
Sort-Object -Property Count -Descending |
Export-Csv C:\Temp\S_Drive_Counts.csv
这是我的结果示例,其中每个条目都在一行中:
"Count","FullName","Hash" "2","S:\Generation 1\Certification Authority.txt S:\Generation 2\Certification Authority.txt","498868376A5377F731593E9F96EC99F34C69F47537C81B9B32DBAC9321462B83 498868376A5377F731593E9F96EC99F34C69F47537C81B9B32DBAC9321462B83"
虽然我需要传递此信息,所以我希望每个条目单独占一行,类似于此:
"Count","FullName","Hash" "2","S:\Generation 1\Certification Authority.txt","498868376A5377F731593E9F96EC99F34C69F47537C81B9B32DBAC9321462B83" "2","S:\Generation 2\Certification Authority.txt","498868376A5377F731593E9F96EC99F34C69F47537C81B9B32DBAC9321462B83"
如果需要,我可以对 CSV 文件进行一些字符串操作,但我正在寻找一种方法在导出到 CSV 文件之前以正确的格式获取它。
展开您的群组。另外,更好地利用管道。
Get-ChildItem -Path 'S:\' -File -Recurse |
Select-Object Fullname, @{n='Hash';e={(Get-FileHash $_.FullName).Hash}} |
Group-Object Hash |
ForEach-Object {
$cnt = $_.Count
$_.Group | Select-Object @{n='Count';e={$cnt}}, FullName, Hash
} |
Sort-Object Count, Hash, FullName -Descending |
Export-Csv 'C:\Temp\S_Drive_Counts.csv' -NoType