You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PowerShell正则表达式批量重命名不规则格式的MP3文件

使用PowerShell正则表达式批量重命名不规则格式的MP3文件

嗨,我来帮你搞定这个批量重命名的问题!你的需求很明确——把每个MP3文件名里第一个字母之前的所有字符都去掉,只保留后面的文字和扩展名。你之前的尝试只覆盖了带横杠的情况,咱们来调整正则表达式,让它能适配所有你给出的格式。

核心思路:匹配第一个字母前的所有非字母字符

我们需要一个正则表达式,精准匹配文件名开头到第一个大小写字母(a-z/A-Z)之间的所有内容,然后把这部分替换为空字符串。对应的正则是:^[^a-zA-Z]+

解释一下这个正则的含义:

  • ^:锚定到字符串的开头,确保我们只处理文件名最前面的部分
  • [^a-zA-Z]+:匹配一个或多个不是大小写字母的字符(数字、横杠、点、空格这些都包含在内)

完整的PowerShell命令

直接用管道结合Get-ChildItem和Rename-Item就能搞定,推荐先加-WhatIf参数预览效果,确认没问题再执行实际重命名:

# 先预览重命名结果,不会实际修改文件
Get-ChildItem -Filter *.mp3 | Rename-Item -NewName { $_.Name -replace '^[^a-zA-Z]+', '' } -WhatIf

# 确认预览正确后,去掉-WhatIf执行实际重命名
Get-ChildItem -Filter *.mp3 | Rename-Item -NewName { $_.Name -replace '^[^a-zA-Z]+', '' }

效果验证

拿你给出的例子测试,完全符合预期:

  • 输入:1-09. But Not for Me.mp3 → 输出:But Not for Me.mp3
  • 输入:13. Indiana (Back Home Again in Indiana).mp3 → 输出:Indiana (Back Home Again in Indiana).mp3
  • 输入:2-02 I Love You.mp3 → 输出:I Love You.mp3
  • 输入:2-11. A Foggy Day.mp3 → 输出:A Foggy Day.mp3

一些小提醒

  1. 确保在MP3文件所在的目录下运行命令,或者给Get-ChildItem加上-Path "你的文件路径"参数指定目录
  2. 如果有多个文件重命名后会变成同一个名字,Rename-Item会报错,建议先检查目标文件名是否重复
  3. 永远记得先用-WhatIf预览,避免误操作导致文件命名混乱

备注:内容来源于stack exchange,提问作者Jeff Taylor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 09:48:06