[英]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.