我有很多这样的音乐文件:
“01 - Chan Chan - Buena Vista社交俱乐部”
或
“03.以你自己的甜蜜方式”
我想制作一个关于如何删除的脚本 “01 - ”或“03”。
但我不知道如何做到这一点 因为我的所有文件都不同(有时“0.1”或“0.01”) 我只想删除歌曲前面的所有数字 所以如果我把它放在我的音乐库中,我就没有在他们面前的愚蠢数字......
任何有帮助的人?
答案 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
}