Как отфильтровать и исключить файлы из gci? - PullRequest
0 голосов
/ 02 мая 2020

Я использую следующее:

Get-ChildItem $CSV_Files_Path -Filter *.csv | foreach-object {...}

Существует один конкретный c файл CSV, однако я sh исключаю. конечно, я могу переместить его из этого каталога, но я должен делать это каждый раз, когда он заменяется, поэтому я хотел бы, чтобы это было динамически c ...

Я знаю, что мы не можем объединить исключение с фильтром, так как я могу сделать это sh?

псевдокод:

Get-ChildItem $CSV_Files_Path -Filter *.csv -Exclude Fact.csv | foreach-object {...}

еще лучше, я хотел бы пойти дальше, исключив пользовательский входной файл.

т.е. param($excludedfiles)

$excludedfiles = 'C:\CSVFiles\Fact.csv, C:\CSVFiles\fileabc.csv'

или даже такой гибкий как:

$excludedfiles = 'Fact.csv, fileabc.csv'

псевдокод:

$excludedfiles = $excludedfiles.Split('(.+?)(?:,|$)')
Get-ChildItem $CSV_Files_Path -Filter *.csv -Exclude $excludedfiles | foreach-object {...}

1 Ответ

1 голос
/ 02 мая 2020

Есть много неприятных вещей с -filter, -include и -exclude в powershell 5. Это разрешено в более новых версиях. Вы можете объединить -path и -exclude:

get-childitem -path *.csv -exclude file1.csv,file2.csv
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...