前言
這兩天在看大老師,我想把字幕和視頻名稱統(tǒng)一一下,使得播放器能自動加載字幕。
然后我就花了半個小時用Powershell重命名所有視頻名稱了,解決了只需2分鐘就能手動改完,或3秒鐘就能拖字幕進(jìn)播放器的需求。
我的需求是將
Yahari Ore S2 集數(shù) [BD 1920x1080 HEVC-10bit OPUS ASSx2]
更換為
[Kamigami&VCB-Studio] Yahari Ore no Seishun Lovecome wa Machigatte Iru. Zoku [集數(shù)][Ma10p_1080p][x265_flac]
言歸正傳
Rename-Item
直接說結(jié)論
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功能,實(shí)現(xiàn)更改含有正則關(guān)鍵字的(此處為方括號)文件。
通過match的方式,應(yīng)該還可以把兩條合并成一條的。hhhh 我就算了,請大家指教更好的方式。
沒有系統(tǒng)學(xué)習(xí),就會導(dǎo)致這種事情的出現(xiàn)呀。hhhhh
這里給一個比較批量重命名通用的模板吧。
Get-ChildItem *.后綴名 | ForEach-Object {Rename-Item -LiteralPath $_.fullname -NewName $_.Name.Replace('需要更改的部分','更改的內(nèi)容')}