如何使用Powershell批量更改含有方括号文件的文件名

前言

这两天在看大老师,我想把字幕和视频名称统一一下,使得播放器能自动加载字幕。
然后我就花了半个小时用Powershell重命名所有视频名称了,解决了只需2分钟就能手动改完,或3秒钟就能拖字幕进播放器的需求。

我的需求是将

Yahari Ore S2 集数 [BD 1920x1080 HEVC-10bit OPUS ASSx2]

更换为

[Kamigami&VCB-Studio] Yahari Ore no Seishun Lovecome wa Machigatte Iru. Zoku [集数][Ma10p_1080p][x265_flac]

言归正传

Rename-Item

直接说结论

Get-ChildItem *.mkv | rename-item -newname {$_.name -replace  'Yahari Ore S2 ','[Kamigami&VCB-Studio] Yahari Ore no Seishun Lovecome wa Machigatte Iru. Zoku ['}
Get-ChildItem *.mkv | ForEach-Object {Rename-Item -LiteralPath $_.fullname  -NewName $_.Name.Replace(' [BD 1920x1080 HEVC-10bit OPUS ASSx2]','][Ma10p_1080p][x265_flac]')}

第一句就是Rename-Item一般用法。
这里第二条就是,通过Rename-Item新增了的-LiteralPath功能,实现更改含有正则关键字的(此处为方括号)文件。

通过match的方式,应该还可以把两条合并成一条的。hhhh 我就算了,请大家指教更好的方式。

没有系统学习,就会导致这种事情的出现呀。hhhhh

这里给一个比较批量重命名通用的模板吧。

Get-ChildItem *.后缀名 | ForEach-Object {Rename-Item -LiteralPath $_.fullname  -NewName $_.Name.Replace('需要更改的部分','更改的内容')}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容