使用Powershell删除文件名中的方括号字符

斯图尔特

我在Sharepoint服务器上存储了一个大型文档库,该库已从旧的Access数据库迁移过来,这些文档的版本控制由用户控制,并在进行更改时附加在文件名的末尾。

例如

  1. Doc1-test(1.0).doc
  2. Doc1-test(1.1).doc
  3. Doc2-example(2.1).doc
  4. Doc2-example(2.2).doc

现在,我们使用Sharepoint来控制版本控制,并且需要删除文件名中的版本。

使用以下脚本,我取得了一定程度的成功;

gi * | % { rni $_ ($_.Name -replace '(1.0)', '') }

但我无法从文件名中删除方括号。因此,在我的测试目录中,文件更改为以下内容

Doc1-doc(1.0).doc ----- Doc1-doc()。doc

数字范围从1.0到4.5左右,并且有1200多个文档,因此我不介意为每个版本号使用单独的脚本。

ᴇcʜιᴇ007

您遇到的问题是PowerShell-replace使用正则表达式进行搜索。

这意味着()搜索查询中的方括号()被解释为RegEx捕获组

在这种情况下,您希望将它们引用为文字字符,因此您需要转义方括号。在RegEx中,这是用反斜杠(\)完成的。

所以-replace '\(1.0\)',''应该这样做。

由于您使用的是RegEx,因此可以通过指定“数字”字符类或“集合”字符(而不是实际版本号)作为搜索模式来利用它并一次完成所有操作

所以像这样:

gi * | % { rni $_ ($_.Name -replace '\(1.[0-9]\)', '') }

(1.<any number from 0 to 9>)从文件名中删除

如果要删除方括号及其之间的任何内容,则可以使用“任意.次数(*任意次数()” RegEx模式:

IE: -replace '\(.*\)',''

注意:RegEx会让您感到惊讶(在这种情况下,请考虑使用单个文件名的内括号和内括号),因此请备份文件并首先运行测试。:)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

批量删除文件名中的括号和方括号

来自分类Dev

使用PowerShell重命名或删除文件名中的字符

来自分类Dev

rm命令:删除文件名包含方括号的文件

来自分类Dev

复制文件名中带有方括号[]的文件,并使用*通配符

来自分类Dev

使用sed删除文件名中的空格和括号

来自分类Dev

批量删除文件名中的括号

来自分类Dev

从powershell中的文件名中删除特殊字符

来自分类Dev

Powershell从文件名中删除特殊字符

来自分类Dev

使用powershell从文件名中删除随机字符串

来自分类Dev

使用PowerShell在文件名中搜索字符串

来自分类Dev

从文件名中删除特殊字符

来自分类Dev

从文件名中删除特殊字符

来自分类Dev

删除文件名中的特定字符

来自分类Dev

如果文件名包含方括号,则查找失败

来自分类Dev

PowerShell-从多个文件名中删除某些字符串

来自分类Dev

如何从php文件中的字符串中删除方括号?

来自分类Dev

根据文件名(不包括括号和方括号)批量创建文件夹

来自分类Dev

无法删除文件名中包含特殊字符的文件

来自分类Dev

无法删除文件名中包含特殊字符的文件

来自分类Dev

如何删除字符串中的方括号字符(java)

来自分类Dev

在Powershell中首次出现连字符时,删除所有文件名中的变量字符串

来自分类Dev

在Linux中批量删除文件名中的特殊字符

来自分类Dev

在Windows中从文件名中批量删除特殊字符

来自分类Dev

如何使用Powershell从文件名开头删除空格

来自分类Dev

使用WinSCP和PowerShell无法删除名称中带有方括号的目录

来自分类Dev

使用python从目录中的每个文件名中删除字符

来自分类Dev

如何使用PowerShell删除文件名中的前导或尾随空格?

来自分类Dev

从字符串中删除方括号,包括方括号内的文本

来自分类Dev

从文件名javascript中删除非法字符

Related 相关文章

  1. 1

    批量删除文件名中的括号和方括号

  2. 2

    使用PowerShell重命名或删除文件名中的字符

  3. 3

    rm命令:删除文件名包含方括号的文件

  4. 4

    复制文件名中带有方括号[]的文件,并使用*通配符

  5. 5

    使用sed删除文件名中的空格和括号

  6. 6

    批量删除文件名中的括号

  7. 7

    从powershell中的文件名中删除特殊字符

  8. 8

    Powershell从文件名中删除特殊字符

  9. 9

    使用powershell从文件名中删除随机字符串

  10. 10

    使用PowerShell在文件名中搜索字符串

  11. 11

    从文件名中删除特殊字符

  12. 12

    从文件名中删除特殊字符

  13. 13

    删除文件名中的特定字符

  14. 14

    如果文件名包含方括号,则查找失败

  15. 15

    PowerShell-从多个文件名中删除某些字符串

  16. 16

    如何从php文件中的字符串中删除方括号?

  17. 17

    根据文件名(不包括括号和方括号)批量创建文件夹

  18. 18

    无法删除文件名中包含特殊字符的文件

  19. 19

    无法删除文件名中包含特殊字符的文件

  20. 20

    如何删除字符串中的方括号字符(java)

  21. 21

    在Powershell中首次出现连字符时,删除所有文件名中的变量字符串

  22. 22

    在Linux中批量删除文件名中的特殊字符

  23. 23

    在Windows中从文件名中批量删除特殊字符

  24. 24

    如何使用Powershell从文件名开头删除空格

  25. 25

    使用WinSCP和PowerShell无法删除名称中带有方括号的目录

  26. 26

    使用python从目录中的每个文件名中删除字符

  27. 27

    如何使用PowerShell删除文件名中的前导或尾随空格?

  28. 28

    从字符串中删除方括号,包括方括号内的文本

  29. 29

    从文件名javascript中删除非法字符

热门标签

归档