中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 重命名的问题 上一主题 | 下一主题
caiye211221
新手上路





积分 13
发帖 18
注册 2009-1-31
状态 离线
『楼 主』:  重命名的问题


1把一目录下的电影文件写入到a.txt内。
2给电影改名 比如第一个叫寻秦记,寻秦记2,寻秦记3 这样就可以了

1读取a.txt的内容,并按a.txt的内容给寻秦记,寻秦记1,寻秦记2重命名。

说的好像有点不容易让人理解。

美女.rmvb = 寻秦记
猛男.avi    = 寻秦记1
可以给它们改名,还可以改回来。


目地就不说了,谢谢高手呀。
顺便问下,DIR c:\*.*>a.txt
在cmd 下可以,在bat里就不行呢,是不是没写好,还是别的原因,就是一问题就找了两小时,晕呀,本人菜鸟。

2009-5-7 11:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 2 楼』:  

运行一次改名,运行第二次还原。。。
@echo off&setlocal enabledelayedexpansion
if exist 寻秦记 goto :还原
set n=
(for /f "delims=" %%a in ('dir *.rmvb *.avi') do (echo %%a=寻秦记!n!
        ren "%%a" 寻秦记!n!
        set/a n+=1
))>a.txt
goto :eof

:还原
for /f "tokens=1,2 delims==" %%a in (a.txt) do (ren %%b "%%a")




精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-5-7 12:51
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
caiye211221
新手上路





积分 13
发帖 18
注册 2009-1-31
状态 离线
『第 3 楼』:  

谢谢楼上的帮忙,但不好用。
存为BAT和电影放在一个文件夹,到是能生成A。TXT但不改名。不知道为什么。
能给我讲下吗。
if exist 寻秦记 goto :还原               如果名字是寻秦记,者GOTO还原
set n=
(for /f "delims=" %%a in ('dir *.rmvb *.avi') do (echo %%a=寻秦记!n!
        ren "%%a" 寻秦记!n!
        set/a n+=1
))>a.txt
goto :eof
这句也就看懂'dir *.rmvb *.avi'  查找这两种格式的电影
太菜了,但不好用为什么呢。

2009-5-8 08:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
caiye211221
新手上路





积分 13
发帖 18
注册 2009-1-31
状态 离线
『第 4 楼』:  

驱动器 E 中的卷是 新加卷=寻秦记
卷的序列号是 18DF-45B8=寻秦记1
E:\1\1 的目录=寻秦记2
E:\1\1 的目录=寻秦记3
09-04-28  20:55       529,488,956 十分爱.avi=寻秦记4
09-04-28  21:23       567,853,616 如果爱DVD.avi=寻秦记5
09-05-04  13:36       586,829,320 独自等待.avi=寻秦记6
               3 个文件  1,684,171,892 字节=寻秦记7
               0 个目录 18,916,614,144 可用字节=寻秦记8


这是运行后生成a.txt的内容。

2009-5-8 09:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
caiye211221
新手上路





积分 13
发帖 18
注册 2009-1-31
状态 离线
『第 5 楼』:  

加个PAUSE,才看明白错误在哪。
系统找不到指定的文件。
文件名,目录名或卷标语法不正确
文件名,目录名或卷标语法不正确
系统找不到指定的文件。
系统找不到指定的文件。
系统找不到指定的文件。
系统找不到指定的文件。
系统找不到指定的文件。
系统找不到指定的文件。

2009-5-8 09:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 6 楼』:  

不好意思,少了一个参数 /b


@echo off&setlocal enabledelayedexpansion
if exist 寻秦记 goto :还原
rem 如果已经文件“寻秦记”存在则跳到“:还原”
set n=
rem 将dir 命令得到的目录列表作为文本串给for /f 处理
(for /f "delims=" %%a in ('dir /b *.rmvb *.avi') do (echo %%a=寻秦记!n!
rem 显示对应关系,后面的!n!就是递增的序号,然后改名
        ren "%%a" 寻秦记!n!
        set/a n+=1
rem 循环一次n加1
))>a.txt
rem for 外面多了一层括号,意思是里面的代码为一组,这一组里面的所有显示输出全部通过管道转向到文件a.txt
goto :eof

:还原
rem 读取上面保存的文件a.txt作为文本串给for /f处理,
rem 将每个文本串以=号为分隔符分段,并赋值给%%a %%b
rem 每行文本串会执行一次ren  %%b "%%a"

for /f "tokens=1,2 delims==" %%a in (a.txt) do (ren %%b "%%a")

[ Last edited by netbenton on 2009-5-9 at 06:04 ]

   此帖被 +1 点积分    点击查看详情   
评分人:【 caiye211221 分数: +1  时间:2009-5-9 05:07




精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-5-8 14:37
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
caiye211221
新手上路





积分 13
发帖 18
注册 2009-1-31
状态 离线
『第 7 楼』:  

太帅了,感谢。
能大概的讲下,让我明白下吗。

2009-5-9 05:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: