批量重命名的批处理

和上一篇里的内容一样,本文里的两个批处理脚本也是从故纸堆里挖出来的。

第一个是:

关键点在于 set 的 /a 选项,表示给变量赋值时要运算其数值,另外就是 for 的 /f 参数表示会解析 in 后的文件里的每一行;另一个如下:

这个的注意点则是用 ~nx 修饰的 i 变量,帮助文档里是这么说的:

%~dpI – 仅将 %I 扩展到一个驱动器号和路径
%~nxI – 仅将 %I 扩展到一个文件名和扩展名
%~fsI – 仅将 %I 扩展到一个带有短名的完整路径名
%~dp$PATH:I – 搜索列在路径环境变量的目录,并将 %I 扩展到找到的第一个驱动器号和路径
%~ftzaI – 将 %I 扩展到类似输出线路的 DIR

为了方便记忆,我推测前三个的缩写来源是,dp 代表了 [d]rive 和 [p]ath,nx 代表了 [n]ame 和 e[x]tension,而 fs 代表了 [f]ull path with [s]hort name。系统带的中文帮助翻译的相当生硬,所谓“扩展”其实就是“展开”,和 C 语言里处理宏的动作是一样的。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注