我有几个带有圆括号和/或方括号的视频,其中包含一些文本,例如
(ANTYHING HERE)
或 [ANTHING HERE]
:
例如:
MOVIENAME 2024 LANG [SOMETEXTHERE] 1080P.mkv
或 MOVIENAME 2024 (SOMEOTHERTEXTHERE) LANG [SOMETEXTHERE] 1080P.mp4
或
通过使用 Powershell 和正则表达式文本替换,我想将其重命名为
MOVIENAME 2024 LANG 1080P.mkv
或 MOVIENAME 2024 LANG 1080P.mp4
意味着我想删除任何圆括号和/或方括号以及其中的任何内容,同时删除任何额外的空格,这意味着查找并转换 2 或更多的空间到只有 1 个空间,可能在单个 -replace
通道中,或者最多在两个这样的通道中。
我尝试这样做只是为了方括号,但它不起作用:
$validExtensions = '.mkv', '.mp4'
Get-ChildItem -Recurse -File |
Where-Object Extension -In $validExtensions |
Where-Object Length -GT 500mb |
Rename-Item -NewName {($_.BaseName -replace '(.*)(\[.*\])(.*)', '$1$3')}.ToUpper() + $_.Extension
任何人都可以帮助实现我想要的吗?
链接两个
-replace
操作,如下:
($_.BaseName -replace '[[(].*[])]' -replace ' +', ' ').ToUpper() + $_.Extension