Win+R
打开运行,并输入shell:sendto
,打开系统右键发送到菜单的所在文件夹。
新建记事本文档,修改文件名为公开.bat
,编辑并保存如下内容:
@echo off:loopif not "%~1" == "" (ren "%~1" "%~n1(公开)%~x1"shiftgoto loop)
可以多选文件,然后邮件选择发送到公开.bat
,就可以将文件快速添加后缀了。
例如原始的文件名:
饲养员手册.pdf
母猪的产后护理.pdf
萨达姆做好了战斗准备.pdf
长颈鹿的皮毛护养.pdf
统一变成:
饲养员手册(公开).pdf
母猪的产后护理(公开).pdf
萨达姆做好了战斗准备(公开).pdf
长颈鹿的皮毛护养(公开).pdf
也可以为文件名增加日期的时间戳信息:
@echo offset d=%date:~0,10%set d=%d:/=%set d=%d:-=%:loopif not "%~1" == "" (ren "%~1" "%d%_张三_%~nx1"shiftgoto loop)
操作效果:
1119_张三_饲养员手册.pdf
1119_张三_母猪的产后护理.pdf
1119_张三_萨达姆做好了战斗准备.pdf
1119_张三_长颈鹿的皮毛护养.pdf
需要注意的是,这里的"%~1"
不能简化为%1
。语法%~1
会将路径中的引号去除,然后我又包了一层引号。在输入参数是路径时,这两种做法是等效的。
但是在if的判断条件中,%1
位置参数可能不存在,此时%1
会被翻译成空,而"%~1"
会被翻译成""
。前者会出现语法错误,而后者是空字符串,不会出现问题。