如何运行一个单独的PowerShell脚本,该脚本会依次执行以下操作?
Get-ChildItem *.csv | ForEach-Object {
$CSV = Import-CSV -Path $_.FullName -Delimiter ","
$FileName = $_.Name
$CSV | Select-Object *,@{N='Filename';E={$FileName}} | Export-CSV $_.FullName -NTI -Delimiter ","}
与kemiller2002做的here类似,除了一个带有csv输入和csv输出的脚本。
最佳答案
Bill的答案允许您组合CSV,但不能将文件名添加到每一行的末尾。我认为最好的方法是使用PipelineVariable
公用参数在ForEach
循环中添加该参数。
Get-ChildItem \inputCSVFiles\*.csv -PipelineVariable File |
ForEach-Object { Import-Csv $_ | Select *,@{l='FileName';e={$File.Name}}} |
Export-Csv \outputCSVFiles\newOutputFile.csv -NoTypeInformation
那应该完成您想要的。