通过对多个条件进行过滤来重命名Powershell文件

长叶菜

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

00092-100221-01M-V-3-20-001 Building A, plan 1M Piping

我只想重命名同时包含单词“ Building A”和“ Piping”的文件,所以我尝试了以下代码

dir -filter "*Building A*", "*Piping*" | Rename-Item -NewName {$_.basename + " As built" + $_.extension}

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

行军

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

通常,最简单的过滤管道元素的方法是Where-Object

dir | where { $_.Name -match "Building A" -and $_.Name -match "Piping" } | Rename-Item ...

注意:-match运算符使用正则表达式匹配,在这种情况下可以使用。您还可以将-like运算符与通配符一起使用:$_.Name -like "*Piping*"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何通过插入字符来重命名多个文件?

如何通过删除多个文件的姓氏来重命名

通过过滤,分组然后根据语句为条件来重命名因子级别

如何通过在文件开头添加公用字符串来重命名多个文件?

如何通过在Windows中的文件名之间添加通用名来重命名多个文件?

通过重新排列原始文件名来重命名多个文件

通过Shell脚本重命名多个文件

Powershell通过按升序替换n个字符来重命名文件名

Powershell通过复制最后三个字符来重命名文件

从多个文件中提取前缀,并通过添加后缀来重命名

如何通过在Windows中添加或删除后缀或前缀来重命名多个文件?

使用bash脚本通过增加常量的尾随数量来重命名多个文件

重命名多个文件,并通过Powershell从文件路径和名称拆分变量

通过将文件名与文本文件中的名称进行比较来重命名文件

PowerShell重命名文件

重命名多个文件

重命名多个文件

如何通过移动/替换字符并在文件名中转换日期格式来重命名bash中的多个文件?

通过使用Shell脚本替换文件名中的特定模式来重命名多个文件

使用Powershell重命名多个工作表和多个文件

通过减去值来重命名文件名的末尾

通过删除编译器标记来重命名文件

通过替换模式来批量复制和重命名文件

通过添加当前日期来重命名文件

PowerShell重命名多个文件,文件名的特定部分

通过R中的多个条件进行过滤

使用重命名重命名多个文件

Powershell-通过删除最后几个字符来重命名文件名

通过在开头添加一个字符串来重命名多个文件