2016-09-12 1 views
-1

Я пишу сценарий PowerShell до Import-Csv, затем найдите столбец с ключевым словом, затем Export-Csv. Я должен запустить этот скрипт для любого файла, заканчивающегося в * .csv в папке. Я не могу найти способ сделать переменную встроенной в Import-Csv/Export-Csv. Я могу заставить его работать только с определенным именем файла.Вставьте переменную в Import-Csv

Вот что я написал:

Import-Csv 'C:\Users\Desktop\Rename\test.csv' | 
    Where {$_.objectname -match "project" -and $_.objectname -ne "project code"} | 
    Export-Csv 'C:\Users\Desktop\Rename\New.csv' -NoTypeInfo 

Мне нужно заменить C:\Users\Desktop\Rename\test.csv на (variable).csv.

ответ

1
$CSVFiles = Get-ChildItem C:\Users\Desktop\Rename -Filter *.csv 
Foreach ($CSV in $CSVFiles) 
{ 
Import-Csv $CSV.FullName | Where {$_.objectname -match "project" -and $_.objectname -ne "project code"} | Export-Csv "C:\Users\Desktop\Rename\$($CSV.Name)_New.csv" -notypeinfo 
} 

Это вы имеете в виду?