繁体   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