Используйте имя исходного файла для выходного файла - PullRequest
0 голосов
/ 28 февраля 2019

Мне удалось заставить этот сценарий работать, но единственное, что я не могу понять, - это взять исходное имя файла и применить его к имени выходного файла с добавлением _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"

1 Ответ

0 голосов
/ 28 февраля 2019

Вы можете получить список файлов .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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...