中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 18:01
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 关于批量改电视剧名的问题 查看 980 回复 6
楼 主 关于批量改电视剧名的问题 发表于 2008-09-18 11:53 ·  中国 湖南 郴州 电信
初级用户
★★
积分 87
发帖 61
注册 2008-09-18 11:32
17年会员
UID 125941
性别 男
状态 离线
我的文件夹里有www.dygod.cn]中国造 第1集.rmvb 像这样的文件有25集,但我写了个用来改名的批处理,但总是只改第二集,不知道哪里有错,请大家帮我看看
setlocal enabledelayedexpansion
for /f "tokens=1,2,3 delims=, " %%a in ('dir /b *.rmvb') do (
set var=%%c
set var=!var:~1,1!.rmvb
)
ren *.rmvb !var!
2 发表于 2008-09-18 13:14 ·  中国 江苏 苏州 电信
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
你可以列出一格表,如:
我的电脑某个文件夹下有很多这样的文件
www.dygod.cn]中国造 第1集.rmvb
www.dygod.cn]中国造 第2集.rmvb
www.dygod.cn]中国造 第3集.rmvb
.
.
.
请问如何将它们改成以下的格式
中国造 第1集.rmvb
中国造 第2集.rmvb
中国造 第3集.rmvb
.
.
.
是不时这样?
3 发表于 2008-09-18 13:17 ·  中国 福建 泉州 电信
银牌会员
★★★
积分 1,276
发帖 469
注册 2002-12-23 13:00
23年会员
UID 586
性别 男
来自 福建泉州
状态 离线
上面的ren语句应写在for里面.而且也不应该是ren *.rmvb !var!
试试下面的.

setlocal enabledelayedexpansion
for %%i in (*.rmvb) do (
set var=%%i
ren %%i !var:~18!
)


[ Last edited by chenall on 2008-9-18 at 01:24 PM ]
QQ:366840202
http://chenall.net
4 发表于 2008-09-18 13:29 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@echo off
setlocal enabledelayedexpansion
for %%a in (*.rmvb) do (
set var=%%a
ren "%%a" "!var:~18!"
)
5 发表于 2008-09-18 14:28 ·  中国 湖南 郴州 电信
初级用户
★★
积分 87
发帖 61
注册 2008-09-18 11:32
17年会员
UID 125941
性别 男
状态 离线
不好意思,没有说清,我的意思是要全部改成1.rmvb 2.rmvb这样的,就是只留数字。
6 Re 5楼 发表于 2008-09-18 14:33 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@echo off
setlocal enabledelayedexpansion
for %%a in (*.rmvb) do (
set var=%%~na
ren "%%a" "!var:~23,1!.rmvb"
)
7 发表于 2008-09-18 14:38 ·  中国 湖南 郴州 电信
初级用户
★★
积分 87
发帖 61
注册 2008-09-18 11:32
17年会员
UID 125941
性别 男
状态 离线
成功了,谢谢hat..
论坛跳转: