我已经能够使该脚本正常工作,但是我不知道的唯一方法是采用原始文件名并将其应用于添加了_new的输出文件名。你能把我推向写方向吗?
Import-Csv '\\DESKTOP-QC1GB24\Allpay DD\Processing\*.csv' -Header (1..5|%{"Column$_"}) |
Select-Object Column2,Column3,Column5 -SkipLast 1 |
ConvertTo-Csv -NoTypeInformation |
Select-Object -Skip 1 |
Set-Content -Path "\\DESKTOP-QC1GB24\Allpay DD\Completed\New.CSV"
答案 0 :(得分:1)
在导入并循环浏览.csv文件之前,您可以获取它们的列表:
Get-ChildItem -Filter '*.csv' -Path '\\DESKTOP-QC1GB24\Allpay DD\Processing\'|
% {Import-Csv $_.Fullname -Header (1..5|%{"Column$_"}) |
Select-Object Column2,Column3,Column5 -SkipLast 1 |
ConvertTo-Csv -NoTypeInformation |
Select-Object -Skip 1 |
Set-Content -Path "\\DESKTOP-QC1GB24\Allpay DD\Completed\$($_.BaseName)_new.CSV"}
通过这种方式$_.Fullname
指向文件的每个完整路径,而$_.BaseName
为您提供每个文件的名称,不带扩展名(在本例中为.csv)。这样,您可以在"_new"
期间添加Set-Content
字符串。