使用原始文件的名称作为输出文件

问题描述 投票:0回答:1

我已经能够使这个脚本工作,但我唯一能解决的是获取原始文件名并将其应用于添加了_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"
powershell
1个回答
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字符串。

© www.soinside.com 2019 - 2024. All rights reserved.