前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用Powershell批量更改含有方括号文件的文件名

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

作者头像
xuing
发布2020-06-28 15:50:32
3.2K0
发布2020-06-28 15:50:32
举报

前言

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

我的需求是将

代码语言:javascript
复制
Yahari Ore S2 集数 [BD 1920x1080 HEVC-10bit OPUS ASSx2]

更换为

代码语言:javascript
复制
[Kamigami&VCB-Studio] Yahari Ore no Seishun Lovecome wa Machigatte Iru. Zoku [集数][Ma10p_1080p][x265_flac]

言归正传

Rename-Item

直接说结论

代码语言:javascript
复制
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

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

代码语言:javascript
复制
Get-ChildItem *.后缀名 | ForEach-Object {Rename-Item -LiteralPath $_.fullname  -NewName $_.Name.Replace('需要更改的部分','更改的内容')}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 言归正传
    • Rename-Item
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档