首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过过滤多个条件来重命名Powershell文件

通过过滤多个条件来重命名Powershell文件
EN

Stack Overflow用户
提问于 2020-11-02 16:21:09
回答 1查看 34关注 0票数 2

我有一堆如下格式的文件:

代码语言:javascript
复制
00092-100221-01M-V-3-20-001 Building A, plan 1M Piping

我只想重命名包含"Building A“和"Piping”这两个单词的文件。我尝试了以下代码

代码语言:javascript
复制
dir -filter "*Building A*", "*Piping*" | Rename-Item -NewName {$_.basename + " As built" + $_.extension}

但我得到一个错误,指出参数-filter不支持此方法。有没有办法在Powershell中过滤两个条件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-02 16:28:43

-Filter参数只接受一个参数。您可以使用-Include参数,但这可能很棘手(请看docs)。

一般而言,过滤管道元素的最简单方法是Where-Object

代码语言:javascript
复制
dir | where { $_.Name -match "Building A" -and $_.Name -match "Piping" } | Rename-Item ...

注意:-match操作符使用正则表达式匹配,这在本例中很好用。您还可以使用带有通配符的-like运算符:$_.Name -like "*Piping*"

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64642007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档