簡體   English   中英

如何從 gci 中過濾和排除文件?

[英]How to filter and exclude files from gci?

我正在使用以下內容:

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

有一個特定的 csv 文件,但我希望排除。 當然我可以將它從那個目錄中移動,但是每次替換它時我都必須這樣做,所以我希望它是動態的......

我知道我們不能將排除與過濾器結合起來,那么我該如何實現呢?

偽代碼:

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 {...}

powershell 5 中的 -filter、-include 和 -exclude 有很多煩人的事情。在較新的版本中已解決。 您可以結合 -path 和 -exclude:

get-childitem -path *.csv -exclude file1.csv,file2.csv

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM