我们应该在PowerShell中编辑CSV文件,然后导出该文件
CSV文件包含:
"ID";"date";"number"
"YYY-12345";"24.01.2023";"123456910"
现在,我们应该在ID块后添加“-001”,但适用于整个列
这就是现在的代码:
$folder_csv = 'C:\Abschluss'
$folder_fileout = 'C:\Abschluss\Ausgabe'
$files = Get-ChildItem $folder_csv -File -Filter *.csv
foreach ($file in $files) {
$data = Import-csv $($file.Fullname) -Delimiter ";"
foreach($dataset in $data) {
$data.ID + "-001"
$data | export-csv "$folder_fileout\test.txt" -Delimiter ";" -NoType -Encoding UTF8 -append
}
}
它在PowerShell的控制台中显示结果,但不在创建的. txt文件中显示。
1条答案
按热度按时间vptzau2j1#
你已经很接近你的代码了,主要的问题是你现在正在做
$data.ID + "-001"
,而$data
实际上是完整的对象数组,你想引用$dataset
(被枚举的对象)。除此之外,您似乎希望将所有Csv合并为一个,因此,您可以使用外部ForEach-Object
循环而不是foreach
来利用PowerShell管道: