powershell - Powershell获取子项文件名掩码
问题描述
我正在编写一个脚本,该脚本通过其中包含多个 .pdf 文件的文件夹。只有当文件名符合两个掩码之一时,Powershell 才应继续执行某些步骤。否则它应该继续搜索下一个适合掩码的文件。
我用过:
Get-ChildItem $PATH -Filter "*TEXT-TXT-*" -Recurse -Force |Foreach-Object {
write-host $_.Name
但是这个过滤器只是硬编码的。如何使用口罩,最好使用两个口罩作为过滤器?口罩应该是:
- "##-##-#### XXXX-XXX-XXXX-XX.PDF"
- “##-##-#### XXXX-XXX-XXX-XXXX-XX.PDF”
其中 # 是任何数字,X 是任何非数字字符。
希望这是可能的。
解决方案
为此,您可以使用正则表达式,通过“或”向它们添加几个条件,例如如下
Get-ChildItem $PATH -Filter "*TEXT-TXT-*" -Recurse -Force|Where-Object {($_.name -match '\d{2}-\d{2}-\d{4} \w{4}-\w{3}-\w{3}-\w{4}-\w{2}.PDF') -or($_.name -match '\d{2}-\d{2}-\d{4} \w{4}-\w{3}-\w{4}-\w{2}.PDF')}
在这个表达式中,替换管道传输的文件名就足够了
推荐阅读
- python - 给出质量差的python的音频组合
- function - Julia:如何以最佳方式声明包含插值的向量?
- python - 如何使用其他函数返回的参数运行函数?
- python - 使用 webdriver Selenium Python 在网站上注册时出错
- r - 重命名ggplot中的图形(箱线图)
- matplotlib - 我正在尝试绘制全球 SST 异常。但是,不能直接调用作为 Dataset.plot 的错误
- machine-learning - 为什么 xgboost 显示最后一棵树中未显示的特征重要性特征?
- c - 在arch linux中编译c代码时找不到GTK头文件
- entity-framework-core - 如何使用实体框架核心更改表中的列类型
- excel - 在 Delphi 服务中保存 Excel 文件