如何通过Windows命令提示符批量重命名PDF文件:保留前6字符替换其余内容
批量重命名PDF文件的命令行方案
这需求我经常碰到,给你分Linux/macOS和Windows两种常用环境的命令,直接复制就能用,先确认你在目标PDF文件夹下打开命令行哦:
Linux/macOS(Bash 环境)
方案1:用rename命令(简洁高效)
直接用正则表达式匹配替换,一行搞定:
rename 's/^(.{6}).*(\.pdf)$/$1sample data$2/' *.pdf
拆解一下逻辑:
^(.{6}):匹配文件名开头的前6个字符(比如File1_、Sale2_),把这部分存为分组$1.*:匹配6个字符之后到后缀前的所有内容(比如20170501_data)(\.pdf)$:匹配结尾的.pdf后缀,存为分组$2- 替换后就是
$1+sample data+$2,完美符合你的要求
方案2:用for循环(更直观,适合新手理解)
如果怕正则搞混,用循环逐文件处理:
for file in *.pdf; do # 提取前6个字符,拼接新文件名 new_name="${file:0:6}sample data.pdf" # 执行重命名 mv "$file" "$new_name" done
Windows(PowerShell 环境)
打开PowerShell,进入PDF文件夹,执行这条命令:
Get-ChildItem -Filter *.pdf | Rename-Item -NewName { $_.Name.Substring(0,6) + "sample data.pdf" }
逻辑说明:
Get-ChildItem -Filter *.pdf:获取当前目录下所有PDF文件Substring(0,6):提取每个文件名的前6个字符- 拼接
sample data.pdf后,用Rename-Item完成重命名
重要提醒
不管用哪种方案,先备份文件再操作!万一正则写错或者参数不对,还能找回原文件~
内容的提问来源于stack exchange,提问作者Ka Li




