Powershell脚本重命名音乐文件

时间:2016-01-14 21:19:45

标签: shell powershell

我有很多这样的音乐文件:

“01 - Chan Chan - Buena Vista社交俱乐部”

“03.以你自己的甜蜜方式”

我想制作一个关于如何删除的脚本 “01 - ”或“03”。

但我不知道如何做到这一点 因为我的所有文件都不同(有时“0.1”或“0.01”) 我只想删除歌曲前面的所有数字 所以如果我把它放在我的音乐库中,我就没有在他们面前的愚蠢数字......

任何有帮助的人?

1 个答案:

答案 0 :(得分:1)

  • 使用Get-ChildItem列出给定目录中的所有文件。
  • 如果要包含子目录,请包含-Recurse开关。
  • 包含-File开关,因此我们只重命名文件
  • 如果您只想匹配目录中的某些文件,请包含过滤器
  • 使用正则表达式替换来过滤掉不需要的字符(例如,使用(\d*\s*[\.-]?\s*\d*)(.*)第一个捕获组将收集任何数字(包括1个可选的小数点或连字符(和任何周围的空白))和第二个将捕获其他所有内容;然后我们只保留第二部分。)
  • 使用Rename-Item更新文件名

clear-host 
$myMusicDirectory = 'c:\music\'
$extension = '*.mp3'

Get-ChildItem -Path $myMusicDirectory -Recurse -Filter $extension -file | %{
    $newName = $_.Name -replace '(\d*\s*[\.-]?\s*\d*)(.*)','$2'
    rename-item -Path $_.PSPath -NewName $newName
}