如何用PowerShell批量重命名《厄舍府的崩塌》剧集视频文件
批量修改《THE FALL OF THE HOUSE OF USHER》剧集文件名的PowerShell方案
针对你的需求,以下是适配的PowerShell代码,可批量处理.mkv/.mp4格式的剧集文件,实现截取指定内容、替换字符及格式转换:
# 遍历当前目录下的.mkv和.mp4文件 foreach ($file in Get-ChildItem -Filter *.mkv,*.mp4) { # 提取文件名(不含扩展名) $baseName = $file.BaseName # 截取"1080p"及之前的所有内容,丢弃后续冗余 $trimmed = $baseName -replace '(.*1080p).*', '$1' # 将文件名中的点替换为空格(仅处理文件名部分,不影响扩展名) $spaceFormatted = $trimmed -replace '\.', ' ' # 转换为全大写格式 $upperCase = $spaceFormatted.ToUpper() # 保留"1080p"的小写格式(若无需此步可删除) $finalName = $upperCase -replace '1080P', '1080p' # 拼接新文件名与扩展名 $newFileName = "$finalName$($file.Extension)" # 执行重命名(-WhatIf用于预览效果,确认无误后删除该参数执行实际修改) Rename-Item -Path $file.FullName -NewName $newFileName -WhatIf }
代码说明:
- 文件筛选:通过
Get-ChildItem -Filter *.mkv,*.mp4仅处理目标格式文件 - 内容截取:使用正则表达式
(.*1080p).*匹配并保留"1080p"及之前的所有字符,自动丢弃后续冗余内容 - 字符替换:用
-replace '\.', ' '将文件名中的点替换为空格,扩展名的点不受影响 - 格式转换:通过
.ToUpper()将文件名转为全大写,再通过替换将"1080P"还原为"1080p"(若你希望"1080p"也转为大写,可删除此替换步骤) - 预览与执行:
-WhatIf参数会显示预期的重命名结果,确认无误后删除该参数即可实际修改文件名
内容的提问来源于stack exchange,提问作者Vicky Dev
相关产品推荐
相关产品推荐

