如何一次重命名多个文件并替换特定字符而不影响其他字符

How to rename multiple files at once and replace specific characters without affecting other characters

我想替换这 98 个文件的前两个数字,如下所示

10 10HZ.mp3
11 11HZ.mp3
12 12HZ.mp3

与 "Bass Mekanik - " 并使其看起来像这样

Bass Mekanik - 10HZ.mp3
Bass Mekanik - 11HZ.mp3
Bass Mekanik - 12HZ.mp3

我在 CMD 上尝试了很多不同的组合,就像这样

*重命名“?? ????.mp3”"Bass Mekanik - ????.mp3"

但没有任何效果。我想保留每个文件的最后 4 个字符。

同样在不久的将来,我将需要在每个文件前添加 "Bass Mekanik - "(不是在这些文件上,而是在具有很多其他字符的其他文件上)而不更改任何其他内容。到目前为止,我学会了如何使用

删除前 2 个字符

*重命名 "?? ????.mp3" "// ????.mp3"

然后我尝试添加 "Bass Mekanik" 但它给出了一个错误“存在重复的文件名,或者文件 找不到。” 我希望这是可能的...

这应该可以满足您的需求,如果您对结果满意,请删除 WhatIf

保留文件名的最后 4 个字符(8 个带有“.mp3”)和前缀 "Bass Mekanik "

Get-ChildItem | % { $_.FullName -match ".{8}(?<=\.mp3$)" | Out-Null ; Rename-Item -LiteralPath $_.FullName -NewName ( "Bass Mekanik " + $Matches.Values ) -WhatIf }

为当前文件名添加前缀 "Bass Mekanik "

Get-ChildItem | % { Rename-Item -LiteralPath $_.FullName -NewName ("Bass Mekanik" + $_.Name ) -WhatIf }