楼 主
[已结]按文件夹名+指定字符串(有规律的)批量命名
发表于 2009-01-07 21:32 · 中国 湖北 宜昌 联通
新手上路
★
积分 9 发帖 9 注册 2009-01-06 23:34 17年会员 UID 135995 性别 男
状态 离线
请教
文件名全部都是数字的,在007这个文件夹中有0001--0800(文件名都是用四位数值表示的),在每个文件夹中都有六个文件(文件名全部是数字),在一个文件中的文件名字是连续的。
文件的目录结构如下
0007
│
├─0001
│ 0017.pdf
│ 0018.pdf
│ 0019.pdf
│ 0020.pdf
│ 0021.pdf
│ 0022.pdf
│
├─0002
│ 0033.pdf
│ 0034.pdf
│ 0035.pdf
│ 0036.pdf
│ 0037.pdf
│ 0038.pdf
│
├─0003
│ 0045.pdf
│ 0046.pdf
│ 0047.pdf
│ 0048.pdf
│ 0049.pdf
│ 0050.pdf
现在希望得到的文件名是这样的
改名的规则是
按照每个文件中 文件名 数值的大小该为指定人字符串
根据大小分别用A B C D E F 六个字符串分别命名
最小的用A ,最大的用F 中间的按照大小分别是 B C D E
然后用把文件所在文件夹名加在文件前面 即每个文件名按照 文件夹名+指定字符串 的规律命名
期望结果示意图
0007
│
├─0001
│ 0001A .pdf
│ 0001B .pdf
│ 0001C .pdf
│ 0001D .pdf
│ 0001E.pdf
│ 0001F .pdf
│
├─0002
│ 0002A .pdf
│ 0002B .pdf
│ 0002C .pdf
│ 0002D .pdf
│ 0002E.pdf
│ 0002F .pdf
│
├─0003
│ 0003A .pdf
│ 0003B .pdf
│ 0003C .pdf
│ 0003D .pdf
│ 0003E.pdf
│ 0003F .pdf
[ Last edited by HAT on 2009-1-8 at 11:28 ]
第 2 楼
发表于 2009-01-07 22:52 · 中国 广西 百色 中移铁通
银牌会员
★★★
永远的菜鸟
积分 1,335 发帖 574 注册 2007-11-27 12:50 18年会员 UID 103929 性别 男 来自 广西
状态 离线
@echo off
set "str=ABCDEF"
for /d %%a in (*) do (
set n=0
for /f "delims=" %%b in ('dir /b/a-d "%%a\*.*"') do (
call call ren "%%a\%%b" "%%a%%%%str:~%%n%%,1%%%%%%~xb"
set /a n+=1
)
)
本帖最近评分记录
(共 2 条)
点击查看详情
评分人 分数 时间
HAT
+2
2009-01-08 11:28
yjch2005
+1
2009-01-08 12:46
第 3 楼
发表于 2009-01-07 23:11 · 中国 湖北 宜昌 联通
新手上路
★
积分 9 发帖 9 注册 2009-01-06 23:34 17年会员 UID 135995 性别 男
状态 离线
Originally posted by moniuming at 2009-1-7 22:52:
@echo off
set "str=ABCDEF"
for /d %%a in (*) do (
set n=0
for /f "delims=" %%b in ('dir /b/a-d "%%a\*.*"') do (
call call ren "%%a\%%b" &q ...
很谢谢你的解答
不好意思 我刚才的问题可能说的没是很 清楚
我的 A B C D E F 是一个不定长的字符串 只是为了方便表述 用了 A B C D E F 来代替的
刚才用了你地方法
执行速度还是蛮快地
第 4 楼
发表于 2009-01-08 14:20 · 中国 广西 百色 中移铁通
银牌会员
★★★
永远的菜鸟
积分 1,335 发帖 574 注册 2007-11-27 12:50 18年会员 UID 103929 性别 男 来自 广西
状态 离线
不好意思 我刚才的问题可能说的没是很 清楚
我的 A B C D E F 是一个不定长的字符串 只是为了方便表述 用了 A B C D E F 来代替的
那为什么还不把问题描述清楚呢?
第 5 楼
发表于 2009-01-08 16:12 · 中国 湖北 宜昌 联通
新手上路
★
积分 9 发帖 9 注册 2009-01-06 23:34 17年会员 UID 135995 性别 男
状态 离线
Originally posted by moniuming at 2009-1-8 14:20:
那为什么还不把问题描述清楚呢?
赫赫 不过用你的代码可以解决我的问题
第 6 楼
发表于 2009-01-08 16:15 · 中国 湖北 宜昌 联通
新手上路
★
积分 9 发帖 9 注册 2009-01-06 23:34 17年会员 UID 135995 性别 男
状态 离线
Originally posted by moniuming at 2009-1-8 14:20:
那为什么还不把问题描述清楚呢?
为了 提这个问题 我花了一个多小时 编辑帖子
有些东西 一不注意 就产生误解了
哎
··············
··············
做什么都不容易啊
第 7 楼
发表于 2009-01-09 23:52 · 中国 湖北 宜昌 联通
新手上路
★
积分 9 发帖 9 注册 2009-01-06 23:34 17年会员 UID 135995 性别 男
状态 离线
二楼的代码中
call call ren "%%a\%%b" "%%a%%%%str:~%%n%%,1%%%%%%~xb"
这一句 看了几天帮助也不是很明白
有人愿意给我解释一下吗
[
Last edited by yjch2005 on 2009-1-9 at 23:53 ]
第 8 楼
发表于 2009-01-10 13:10 · 中国 广西 百色 中移铁通
银牌会员
★★★
永远的菜鸟
积分 1,335 发帖 574 注册 2007-11-27 12:50 18年会员 UID 103929 性别 男 来自 广西
状态 离线
第 9 楼
发表于 2009-01-11 16:00 · 中国 湖北 宜昌 联通
新手上路
★
积分 9 发帖 9 注册 2009-01-06 23:34 17年会员 UID 135995 性别 男
状态 离线
第 10 楼
发表于 2009-01-11 16:51 · 中国 湖北 宜昌 联通
新手上路
★
积分 9 发帖 9 注册 2009-01-06 23:34 17年会员 UID 135995 性别 男
状态 离线
晕了好几天 终于把这句弄明白了
"%%a%%%%str:~%%n%%,1%%%%%%~xb"
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正