我的硬盘上有大约400部电影,但这些电影的名称中包含点或下划线,如“wrong_turn.mkv”或“wrong.turn.mkv”。 我只是想从文件名中删除这些点或特殊字符,并保持扩展名。 任何命令行命令或Powershell / Python或任何其他脚本的Windows? 谢谢。
如果这两个文件位于同一个目录中,那么从第一个文件中删除_将会起作用,但是当您尝试从第二个文件中删除点时,它将会失败,因为它会和第一个文件具有相同的名称。 也许这是一个边缘情况,所以这里是基本的解决方案:
Get-ChildItem -Filter *.mkv | Rename-Item -NewName {($_.BaseName -replace '\.|_') + $_.Extension}
在PowerShell中,您可以使用Rename-Item和一个确定新名称的脚本块。
dir -Recurse -Include *.mkv | Rename-Item -NewName { expression to determine new name }
脚本块内的表达式可以使用$ _来引用当前的FileInfo对象。
更具体地说:
dir -Recurse -Include *.mkv | Rename-Item -NewName { $_.Name.Replace('_', ' ') }
使用Rename-Item -WhatIf,直到你做对了。