如何在多个文件名中添加space

How to add space in many file names

我试图从许多动画文件名中删除所有下划线、spaces 和方括号,结果弄得一团糟。

我使用下面的代码 replace/remove 我想要的字符。

替换

Get-ChildItem -Filter "*One Piece_*" -Recurse |
  Rename-Item -NewName {$_.Name -replace 'One Piece_','One Piece '}

或(删除space)

Get-ChildItem -Filter "* *" -Recurse |
  Rename-Item -NewName {$_.Name -replace ' ',''}

现在所有文件名如下所示:

One Piece 031EEE7A115 → 应该是 One Piece 031 EEE7A115
One Piece 032FFB90605 → 应该是 One Piece 032 FFB90605
等等

有没有办法在剧集编号后的所有文件中插入space?

当然可以。制作一个正则表达式,匹配从名称开头的子字符串到连续三个数字,并将其替换为自身和一个 space:

Get-ChildItem -Filter '*One Piece_*' -Recurse |
  Rename-Item -NewName {$_.Name -replace '^(.*?\d{3})', ' '}