我的硬盘上有大约400部电影,但这些电影的名字中间包含点或下划线,如“wrong_turn.mkv”或“wrong.turn.mkv”。我只是想从文件名中删除这些点或特殊字符,并保持扩展名为。 Windows的任何命令行命令或Powershell / Python或任何其他脚本?感谢。
答案 0 :(得分:3)
如果您所在的两个文件位于同一目录中,则从第一个文件中删除_将会起作用,但是当您尝试从第二个文件中删除该点时,它将失败,因为它将具有与第一个。也许这是一个优势,所以这是基本的解决方案:
Get-ChildItem -Filter *.mkv | Rename-Item -NewName {($_.BaseName -replace '\.|_') + $_.Extension}
答案 1 :(得分:2)
在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直到你做对了。