You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PowerShell批量去除文件名末尾的多余标识部分?

嘿,折腾5小时还没搞定确实闹心——这种批量重命名的问题,尤其是文件名格式有点杂的时候,很容易卡壳。我给你几个靠谱的方案,覆盖不同平台,你挑顺手的来:

方法1:Python脚本(跨平台,最灵活)

如果你电脑上装了Python(没有的话官网装一个也很快),这个方法最稳妥,能精准匹配你说的末尾“-+一串字符”(看起来是YouTube的视频ID对吧?)。

步骤很简单:

  1. 在你的视频文件夹里新建一个文本文件,改名叫rename_files.py
  2. 把下面的代码粘进去:
import os
import re

# 正则匹配末尾的 "-[字母数字下划线串].mp4" 模式
pattern = re.compile(r'-(?=[A-Za-z0-9_-]+)\.mp4$')

# 遍历当前文件夹的所有文件
for filename in os.listdir('.'):
    # 只处理MP4文件
    if filename.endswith('.mp4'):
        # 替换匹配到的部分,保留.mp4后缀
        new_filename = pattern.sub('.mp4', filename)
        # 只有文件名变化时才重命名,避免重复操作
        if new_filename != filename:
            os.rename(filename, new_filename)
            print(f"✅ 重命名成功:{filename} → {new_filename}")
  1. 打开命令行(Windows用CMD/PowerShell,Mac/Linux用终端),导航到这个文件夹(比如cd D:\我的视频)
  2. 运行命令:python rename_files.py

这个脚本的正则会精准定位最后一个-后面跟着的那串视频ID,直接去掉,完全保留前面的文件名部分。

方法2:PowerShell(Windows原生,无需额外软件)

如果你用Windows,不想装Python,直接用系统自带的PowerShell就能搞定:

  1. 打开PowerShell,输入cd 你的视频文件夹路径(比如cd C:\Users\你\Videos)进入目标文件夹
  2. 复制粘贴下面的命令回车就行:
Get-ChildItem -Filter *.mp4 | Rename-Item -NewName { $_.Name -replace '-(?=[A-Za-z0-9_-]+)\.mp4$', '.mp4' }

逻辑和Python脚本完全一致,用正则匹配并替换末尾的ID部分。

方法3:Bash命令(Mac/Linux终端)

Mac或者Linux用户直接在终端里操作就行:

  1. 打开终端,用cd命令进入你的视频文件夹
  2. 运行下面的命令:
for file in *.mp4; do
    new_name=$(echo "$file" | sed 's/-\([A-Za-z0-9_-]*\)\.mp4$/.mp4/')
    if [ "$new_name" != "$file" ]; then
        mv "$file" "$new_name"
        echo "✅ 重命名:$file → $new_name"
    fi
done

小提醒

建议先拿几个文件备份测试一下,确保正则匹配符合你的所有文件名格式,避免误改。如果遇到个别特殊格式的文件,稍微调整正则里的字符范围就行(比如如果有其他符号,加到[A-Za-z0-9_-]里)。

内容的提问来源于stack exchange,提问作者Nikola Armyanov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:33:02