powershell重命名脚本

目的

把当前文件夹下的这些文件
image
重命名为
image

代码

Get-ChildItem -Path . -Filter "*.mkv" | ForEach-Object {
    if ($_.Name -ne "rename") {
        $fileName = $_.Name -replace "\.[^.]+$", ""
		# ?表示非贪婪模式
        $extension = $_.Name -replace '^.+\.', ''
        # (\d+\.?\d*) 匹配数字,包括小数点
        # (\(.*?\))? 匹配括号内的内容
        $pattern = '\[(\d+\.?\d*)(\(.*?\))?\]'
        if ($fileName -match $pattern) {
            # $s = [regex]::Match($fileName, '\[(.*?)\]').Value
            $match = $matches[1] # matches哈希表仅包含任何匹配模式的第一个匹配项
            # matches[1]即第一个()中的内容
            $newName = "S01E" + $match
            Rename-Item -LiteralPath $_.Name -NewName "$newName.$extension"
            Write-Output "$newName.$extension"
        }
        else {
            Write-Output "No match found"
        }
    }
}
posted @   lightmon  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示