中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 21:31
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 重命名的问题
可打印版本  841 / 6
第1楼 caiye211221 发表于 2009-05-07 11:37
新手上路 发帖 18 积分 13
重命名的问题

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

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

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

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


目地就不说了,谢谢高手呀。
顺便问下,DIR c:\*.*>a.txt
在cmd 下可以,在bat里就不行呢,是不是没写好,还是别的原因,就是一问题就找了两小时,晕呀,本人菜鸟。
第2楼 netbenton 发表于 2009-05-07 12:51
银牌会员 发帖 752 积分 1,916 来自 广西
运行一次改名,运行第二次还原。。。
第3楼 caiye211221 发表于 2009-05-08 08:59
新手上路 发帖 18 积分 13
谢谢楼上的帮忙,但不好用。
存为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' 查找这两种格式的电影
太菜了,但不好用为什么呢。
第4楼 caiye211221 发表于 2009-05-08 09:01
新手上路 发帖 18 积分 13
驱动器 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的内容。
第5楼 caiye211221 发表于 2009-05-08 09:35
新手上路 发帖 18 积分 13
加个PAUSE,才看明白错误在哪。
系统找不到指定的文件。
文件名,目录名或卷标语法不正确
文件名,目录名或卷标语法不正确
系统找不到指定的文件。
系统找不到指定的文件。
系统找不到指定的文件。
系统找不到指定的文件。
系统找不到指定的文件。
系统找不到指定的文件。
第6楼 netbenton 发表于 2009-05-08 14:37
银牌会员 发帖 752 积分 1,916 来自 广西
不好意思,少了一个参数 /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 ]
第7楼 caiye211221 发表于 2009-05-09 05:22
新手上路 发帖 18 积分 13
太帅了,感谢。
能大概的讲下,让我明白下吗。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023