如何重命名文件将文件名内Lec编号移至开头以实现按课程顺序排序
批量重命名实现方案
方案1:Windows 系统(无需额外安装软件,PowerShell实现)
- 打开存放课程视频的文件夹,按住
Shift的同时右键点击文件夹空白处,选择「在此处打开PowerShell窗口」 - 输入以下命令直接执行即可:
Get-ChildItem *.webm | Rename-Item -NewName { $_.Name -replace '^(.*?) _ (Lec \d+) _ (.*)$', '$2 $1 _ _ $3' }
方案2:macOS / Linux 系统(终端命令实现)
方法A:使用perl版本rename工具(多数发行版默认预装,macOS可通过brew install rename安装)
打开终端进入视频目录后执行:
rename 's/^(.*?) _ (Lec \d+) _ (.*)$/$2 $1 _ _ $3/' *.webm
方法B:原生bash循环实现(无需装额外工具)
for f in *.webm; do if [[ $f =~ ^(.*)\ _\ (Lec\ [0-9]+)\ _\ (.*)$ ]]; then mv -- "$f" "${BASH_REMATCH[2]} ${BASH_REMATCH[1]} _ _ ${BASH_REMATCH[3]}" fi done
方案3:图形化工具操作(适合不习惯命令行的用户)
可以选择任意支持正则替换的批量重命名工具,比如Windows的Advanced Renamer、macOS的Renamer 4,操作步骤统一:
- 导入所有需要重命名的.webm视频文件
- 选择「正则替换」的重命名规则
- 查找规则填:
^(.*?) _ (Lec \d+) _ (.*)$ - 替换规则填:
$2 $1 _ _ $3 - 预览修改结果确认无误后,执行批量重命名即可
注意事项
操作前建议先备份原文件,或者先测试单文件的重命名效果,避免规则写错导致文件名混乱。
内容的提问来源于stack exchange,提问作者taurus05
相关产品推荐
相关产品推荐

