如何指定空格作为通配符字符串的一部分以批量重命名文件

如何指定空格作为通配符字符串的一部分以批量重命名文件

我的文件夹中大约有 1200 首歌曲,其文件名结构如下:

艺术家姓名 - 歌曲名称.mp3

例如:

Billy Joel - Piano Man.mp3
The Beatles - Nowhere Man.mp3

我想使用 Windows PowerShell 中的 DOS 命令对这些文件进行批量重命名,以删除连字符两侧的空格。但是,我不想删除所有空格。基本问题是能够在文件名规范中包含空格,以便将目录中所有文件中的“ - ”更改为“-”。以下是我想要更改的一些示例:

现有文件名

Billy Joel - Piano Man.mp3
The Beatles - Nowhere Man.mp3

所需文件名

Billy Joel-Piano Man.mp3
The Beatles-Nowhere Man.mp3

有人能想到一个可以在命令提示符下执行的 DOS 命令来对目录中的所有文件进行这样的更改吗?

我发现要用 DIR 命令列出所有此类文件,我可以使用:

DIR asterisk+doublequote+space+hyphen+space+doublequote+asterisk+dot+asterisk

我必须这样写出来,因为在这个论坛中实际语法似乎被视为格式化指令。

这列出了所有包含空格-连字符-空格 3 个字符串的文件。

肯定有办法。

答案1

您可以运行此命令:

ls | %{ ren $_ ($_.name -replace ' - ','-') }

使用 Powershell。这将替换{space}-{space}-

答案2

您可以使用文件管理器程序,例如“总指挥官“它内置了非常强大的批量重命名功能。

相关内容