如何使用 powershell 将列插入到单个目录中的多个 CSV 文件中
How to Insert columns into multiple CSV files in a single directory using powershell
您好,非常感谢 mjolinor 提供了如此快速高效的代码。此代码在每个文件的末尾添加第 5 列和第 6 列(带有 Header5 和 Header6)。现在我想 "small?" 更改此代码并在 Header1 之前添加这两列。(在第一列中是文件名,第二列始终为 0,然后是其余数据)。
希望只需要一个小的改变,因为我真的很喜欢 Mjolinor 的代码完成工作的速度(我在一个目录中有大约 3000 个文件)。
$InputFolder = 'c:\SomeFolder'
$OutputFolder = 'c:\SomeOtherFolder'
Get-ChildItem $InputFolder -Filter *.* |
where {-not $_.psiscontainer} |
foreach {
$FileName = $_.Name
$BaseName = $_.Basename
$data = Get-Content $_ -ReadCount 0
"$($data[0]),Header5,Header6" | Set-Content $OutputFolder$FileName
$data[1..($data.Length -1)] -replace '$',",0,$BaseName" |
Add-Content $OutputFolder$FileName
}
试试这个:
$InputFolder = 'c:\SomeFolder'
$OutputFolder = 'c:\SomeOtherFolder'
Get-ChildItem $InputFolder -Filter *.* |
where {-not $_.psiscontainer} |
foreach {
$FileName = $_.Name
$BaseName = $_.Basename
$data = Get-Content $_ -ReadCount 0
"Header6,Header5,$($data[0])" | Set-Content $OutputFolder$FileName
$data[1..($data.Length -1)] -replace '^',"$BaseName,0," |
Add-Content $OutputFolder$FileName
}
您好,非常感谢 mjolinor 提供了如此快速高效的代码。此代码在每个文件的末尾添加第 5 列和第 6 列(带有 Header5 和 Header6)。现在我想 "small?" 更改此代码并在 Header1 之前添加这两列。(在第一列中是文件名,第二列始终为 0,然后是其余数据)。 希望只需要一个小的改变,因为我真的很喜欢 Mjolinor 的代码完成工作的速度(我在一个目录中有大约 3000 个文件)。
$InputFolder = 'c:\SomeFolder'
$OutputFolder = 'c:\SomeOtherFolder'
Get-ChildItem $InputFolder -Filter *.* |
where {-not $_.psiscontainer} |
foreach {
$FileName = $_.Name
$BaseName = $_.Basename
$data = Get-Content $_ -ReadCount 0
"$($data[0]),Header5,Header6" | Set-Content $OutputFolder$FileName
$data[1..($data.Length -1)] -replace '$',",0,$BaseName" |
Add-Content $OutputFolder$FileName
}
试试这个:
$InputFolder = 'c:\SomeFolder'
$OutputFolder = 'c:\SomeOtherFolder'
Get-ChildItem $InputFolder -Filter *.* |
where {-not $_.psiscontainer} |
foreach {
$FileName = $_.Name
$BaseName = $_.Basename
$data = Get-Content $_ -ReadCount 0
"Header6,Header5,$($data[0])" | Set-Content $OutputFolder$FileName
$data[1..($data.Length -1)] -replace '^',"$BaseName,0," |
Add-Content $OutputFolder$FileName
}