【问题标题】:Split Output into multiple CSVs将输出拆分为多个 CSV
【发布时间】:2021-11-29 08:49:46
【问题描述】:

我有一个包含 19 500 000 行的 txt(每行是文件或文件夹的完整路径)。我需要使用 foreach 循环并获取 ACL,稍后将输出保存到 CSV,但我需要每隔 1000 行将此 CSV 拆分为文件。

我不知所措;我感谢任何帮助或建议。

【问题讨论】:

  • 使用-ReadCount 参数查看Get-Content。应该是你要找的
  • >请参考this URL 完成您的问题

标签: windows powershell acl fileserver


【解决方案1】:

作为Abraham Zinala mentions,你可能想利用Get-Content -ReadCount,一次读取1000行的文件,然后输出到CSV并继续下一个块:

$outputCounter = 1

Get-Content path\to\huge\file.txt -ReadCount 1000 |ForEach-Object {
  # Iterate over file paths in chunk, fetch ACL information, then write all 1000 records to a new CSV file
  $_ |ForEach-Object {
    Get-Item -LiteralPath $_ -PipelineVariable item |Get-ACL |Select @{Name='Path';Expression={$item.FullName}},Owner -ExpandProperty Access
  } |Export-Csv ".\path\to\output_${outputCounter}.csv" -NoTypeInformation

  # Increment output file counter
  $outputCounter++
}

【讨论】:

  • 大家好...感谢您的 cmets...我正在测试。
猜你喜欢
  • 2021-06-14
  • 1970-01-01
  • 1970-01-01
  • 2018-11-18
  • 1970-01-01
  • 2016-07-26
  • 2021-10-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多