中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]批处理批量重命名同一目录下的"*.txt"文件
« [1] [2] »
作者:
标题: [求助]批处理批量重命名同一目录下的"*.txt"文件 上一主题 | 下一主题
wxcute
中级用户





积分 458
发帖 211
注册 2006-7-26
状态 离线
『第 16 楼』:  

哦,这个呀。是用来打印用的。

打印机识别三个及以上“-”连接符,而后面的数字就是要打针的份数。
如:a---3.txt,就是把这个文件打印3份。

有人说:“何必这么麻烦,直接点打印三份就好了。”
是阿,如果一个还好说,多了就不行了,所以只好先处理文档,然后拖到相应的文件夹中,如要打三份就放入打三份的文件夹中(而且有的文档今天可能是打两份,明天就可能是打四份了,改来改去很是麻烦的)。要是一个一个改名不是累死了,所以来求助,但所得答案不甚满意,自己来编,边学边改进。昨天终于编了个还行的,呵呵。

看你在论坛也很勤快,交个朋友罢,我已经加你了^_^

2008-2-13 00:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 17 楼』:  

第二个FOR不要DIR了
@echo off
for /f "tokens=*" %%i in ('dir /b /a-d *.txt') do call :lp "%%~ni"
pause
goto :eof
:lp
set n=
setlocal EnableDelayedExpansion
for /f "tokens=1* delims=-" %%i in ("%~1") do (
        set fils=%%i
        set fils1=!fils!---3.txt
        if "%~1.txt" == "!fils1!" goto :eof
        if exist "!fils1!" (
:rn
set /a n+=1
set fils1=!fils!!n!---3.txt
if exist "!fils1!" goto rn
)
)
ren "%~1.txt" "!fils1!"

[ Last edited by terse on 2008-2-13 at 12:54 PM ]



简单!简单!再简单!
2008-2-13 12:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wxcute
中级用户





积分 458
发帖 211
注册 2006-7-26
状态 离线
『第 18 楼』:  

厉害,比我的简单多了。谢谢了。

欣赏你的签名,看来我也要写个签名了。

2008-2-14 00:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: