中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 討論一個批處理改名的問題 上一主题 | 下一主题
bush
银牌会员




积分 2165
发帖 730
注册 2004-4-21
状态 离线
『楼 主』:  討論一個批處理改名的問題

一文件夹中有这样一批文件:
names.doc和names_source.doc
现在要把后者改名为前者并覆盖之(如:a_source.doc改名为a.doc覆盖原来的a.doc
b_source.doc改名为b.doc覆盖原来的b.doc等等
)

[此贴子已经被作者于2004-11-19 16:00:50编辑过]




2004-11-19 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『第 2 楼』:  

del ?.docren *.doc ?.doc



Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2004-11-23 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
bush
银牌会员




积分 2165
发帖 730
注册 2004-4-21
状态 离线
『第 3 楼』:  

names不是祇有一個字母可以是wendos.doc      wendos_source.docwu.doc             wu_source.docwendos.mycool.net.doc wendos.mycool.net_source.doc……

2004-11-27 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
小石头
初级用户




积分 165
发帖 28
注册 2004-8-9
状态 离线
『第 4 楼』:  

首先楼主应该限制一下这个改名操作所依赖的运行环境,例如是在纯DOS下或者NT环境下。

我假设你在XP环境下使用批处理执行这个操作。下面我的批处理所要做的工作是对当前目录下所有以_source.doc结尾的文件(例如a_source.doc)进行这样的处理:如果存在对应的a.doc,那么删除a.doc,然后将它改名为a.doc。如果不存在对应的a.doc文件,那么不进行操作。第一个批处理doit.cmd(处理单个?_source.doc):
@echo off
if %1#==# goto _quit
echo %1 | find /i "_source.doc" > nul
if errorlevel 1 goto _quit
set oldname=%1
set newname=%oldname:~0,-11%.doc
if exist %newname% goto _ren
goto _quit

:_ren
del  %newname%
ren %oldname% %newname%
if exist %newname% echo 成功将%oldname% 改名为 %newname%!

:_quit
set oldname=
set newname=
第二个批处理文件叫Go.cmd(它会调用第一个批处理文件):
@echo off
for /f %%i in ('dir /a-d /b *_source.doc') do @call doit.cmd %%i
如果要在纯DOS或者98的DOS窗口下执行这个操作,估计如果不用第三方工具那么将会很困难。如果可以使用第三方工具,那么strings程序将是一个不错的选择。

2004-11-27 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (21959997)  编辑帖子  回复  引用回复

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


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



论坛跳转: