中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-14 18:59
楼 主 这些文件怎么批量改名 发表于 2007-03-14 02:29 ·  中国 云南 昆明 电信
初级用户
积分 35
发帖 15
注册 2006-10-09 00:42
UID 64980
状态 离线
[LY]恶魔在身边01[国语].D-vb.rmvb.rmvb
[LY]恶魔在身边02[国语].D-vb.rmvb.rmvb
[LY]恶魔在身边03[国语].D-vb.rmvb.rmvb
[LY]恶魔在身边04[国语].D-vb.rmvb.rmvb
[LY]恶魔在身边05[国语].D-vb.rmvb.rmvb
[LY]恶魔在身边06[国语].D-vb.rmvb.rmvb
[LY]恶魔在身边07[国语].D-vb.rmvb.rmvb
[LY]恶魔在身边08[国语].D-vb.rmvb.rmvb
[LY]恶魔在身边09[国语].D-vb.rmvb.rmvb
[LY]恶魔在身边10[国语].D-vb.rmvb.rmvb
[LY]恶魔在身边11[国语].D-vb.rmvb.rmvb
[LY]恶魔在身边12[国语].D-vb.rmvb.rmvb
[LY]恶魔在身边13[国语].D-vb.rmvb.rmvb
[LY]恶魔在身边14[国语].D-vb.rmvb.rmvb
[LY]恶魔在身边15[国语].D-vb.rmvb.rmvb
[LY]恶魔在身边16[国语].D-vb.rmvb.rmvb
[LY]恶魔在身边17[国语].D-vb.rmvb.rmvb
[LY]恶魔在身边18[国语].D-vb.rmvb.rmvb
[LY]恶魔在身边19[国语].D-vb.rmvb.rmvb
[LY]恶魔在身边20[国语].D-vb.rmvb.rmvb

想把多余的去掉。改成01.rmvb 02.rmvb.....
请教了。~
2 发表于 2007-03-14 03:32 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线
  将此批处理保存为Pren.bat,放在要改名的文件所在的目录,运行。代码未测试,有问题请跟贴讨论。

@Echo Off&SetLocal ENABLEDELAYEDEXPANSION
FOR /F "delims=" %%a in ('dir /b/a-d *.rmvb') do (
set "name=%%a"
set "name=!name:恶魔在身边=!"
set "name=!name:.D-vb.rmvb=!"
ren "%%a" "!name!"
)
pause&exit/b
本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
oilio +2 2007-03-14 09:58
RAC +2 2007-03-14 10:33
3 发表于 2007-03-14 03:47 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
UID 63486
来自 河北廊坊
状态 离线
我也来一段代码
@Echo Off&SetLocal ENABLEDELAYEDEXPANSION
FOR /F "delims=" %%a in ('dir /b/a-d *.rmvb') do (
set var=%%a
set str=!var:~9,2!
ren "!var!" "!str!%%~xa"
)
pause&exit/b


[ Last edited by ccwan on 2007-3-14 at 05:07 AM ]
本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
oilio +2 2007-03-14 09:59
RAC +2 2007-03-14 10:33
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
4 发表于 2007-03-14 04:42 ·  中国 云南 昆明 电信
初级用户
积分 35
发帖 15
注册 2006-10-09 00:42
UID 64980
状态 离线
Originally posted by lxmxn at 2007-3-14 03:32:
  将此批处理保存为Pren.bat,放在要改名的文件所在的目录,运行。代码未测试,有问题请跟贴讨论。

@Echo Off&SetLocal ENABLEDELAY ...



谢谢兄台的回复。
可我要的不是你这个,不具通用性哦。

我下了很多电影。命名规则都差不多。上面贴出来的是其中的一点。
所以想要个通用的
5 发表于 2007-03-14 04:43 ·  中国 云南 昆明 电信
初级用户
积分 35
发帖 15
注册 2006-10-09 00:42
UID 64980
状态 离线
Originally posted by ccwan at 2007-3-14 03:47:
我也来一段代码
@Echo Off&SetLocal ENABLEDELAYEDEXPANSION
FOR /F "delims=" %%a in ('dir /b/a-d *.rmvb') do (
set var=%%a
set str=!var:~9,2!
ren "!var ...


这位兄台写的好。不过怎么运行了以后会多出个点来。。。
这样子的16..rmvb
6 发表于 2007-03-14 05:06 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
UID 63486
来自 河北廊坊
状态 离线
"!str!.%%~xa"改成"!str!%%~xa"就行啦
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
7 发表于 2007-03-14 05:22 ·  中国 云南 昆明 电信
初级用户
积分 35
发帖 15
注册 2006-10-09 00:42
UID 64980
状态 离线
非常感谢。。不过,对代码看的不太明白。。
实在是太菜了
8 发表于 2007-03-14 05:25 ·  中国 云南 昆明 电信
初级用户
积分 35
发帖 15
注册 2006-10-09 00:42
UID 64980
状态 离线
看懂了。ccwan兄台,你这个也没有通用性。。。
并不是所有的文件名都是这样长的。
9 发表于 2007-03-14 05:27 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
UID 63486
来自 河北廊坊
状态 离线
其实没有多少技术含量的啦,只有for循环、变量延迟和变量字符的截取而已。
不必气馁,多看看论坛里的相关帖子,慢慢就会明白也会使用啦。
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
10 发表于 2007-03-14 05:33 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
UID 63486
来自 河北廊坊
状态 离线
Originally posted by RAC at 2007-3-14 05:25:
看懂了。ccwan兄台,你这个也没有通用性。。。
并不是所有的文件名都是这样长的。

你的文件名称长度不固定,我的代码就要修改;内容不固定,lxmxn的代码就修改成你的文件名中的字符嘛。
这就看你自己的灵活运用啦,哪有代码放之四海而皆准的?
lxmxn兄的代码也很好,你要根据实际情况使用啊!
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
11 发表于 2007-03-14 05:42 ·  中国 云南 昆明 电信
初级用户
积分 35
发帖 15
注册 2006-10-09 00:42
UID 64980
状态 离线
也只好这样了。谢谢你们了啊
12 发表于 2007-03-14 06:42 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
UID 63486
来自 河北廊坊
状态 离线
发现排序问题不能完美解决,所以还要再测试.

[ Last edited by ccwan on 2007-3-14 at 06:48 AM ]
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
13 发表于 2007-03-14 07:05 ·  中国 云南 昆明 电信
初级用户
积分 35
发帖 15
注册 2006-10-09 00:42
UID 64980
状态 离线
ccwan兄

辛苦了~~~
吃饭~~~呵呵
14 发表于 2007-03-14 07:17 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线

  把你的所有电影的文件名列表发出来看看?
15 发表于 2007-03-14 07:18 ·  中国 云南 昆明 电信
初级用户
积分 35
发帖 15
注册 2006-10-09 00:42
UID 64980
状态 离线
我找到解决办法了
建立一个文本。把01 02 03。。。这些数字先写到文本里.

for /f %%i in (test.txt) do for /f "tokens=*" %%a in ('dir /b *.rmvb ^|find "%%i"') do ren "%%a" %%i.rmvb
论坛跳转: