中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎样在BAT中实现提取一段字符串
« [1] [2] »
作者:
标题: 怎样在BAT中实现提取一段字符串 上一主题 | 下一主题
gmy
版主

操作系统爱好者


积分 1113
发帖 392
注册 2002-11-11
状态 离线
『楼 主』:  怎样在BAT中实现提取一段字符串

问题:已知WIN98安装文件在D盘,但不知在哪个目录里,我想得到其SETUP.EXE文件,(要求精确定位,非WIN98软件的SETUP.EXE不要),最后得到其完整路径,如: D:\PWIN98\WIN98\SETUP.EXE,运行之.怎么实现????

分析:首先搜索与WIN98安装文件所在目录同一目录,且有WIN98唯一特性的文件,如Win98_30.cab (方法是 DIR D:Win98_30.cab /S /B>1.TXT ) 1.TXT的内容应该是:
D:\PWIN98\WIN98\Win98_30.cab,替换Win98_30.cab为SETUP.EXE

难点:就是最后一步 如何"替换Win98_30.cab为SETUP.EXE" ???
我想到了QB的提取一段字符串的函数,只要把Win98_30.cab左边的全部字符提取出来,再与SETUP.EXE合并就成功了,问题是我不想用QB而用批处理怎么实现???


我是 DOS之家站长 以上程序将用于即将发布的 新版的 "超级急救盘"
请大家帮助.谢谢各位




DOS之家 http://doshome.com 站长 葛明阳
2004-1-23 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


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

这个不算太难,上次我编的那个查找WIN的批处理文件中就有一部分是专门实现该功能的。



Wengier - 新DOS时代

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

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

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

操作系统爱好者


积分 1113
发帖 392
注册 2002-11-11
状态 离线
『第 3 楼』:  

是哪个啊?下载地址?具体文件名??



DOS之家 http://doshome.com 站长 葛明阳
2004-1-23 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
LK
高级用户




积分 915
发帖 309
注册 2002-12-22
状态 离线
『第 4 楼』:  

"超级" 2字现在被到处滥用。


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

“新DOS时代”站长


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

呵呵。。对了,GMY,您能不能解释一下这个“超级”的意义所在,谢谢!



Wengier - 新DOS时代

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

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

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

操作系统爱好者


积分 1113
发帖 392
注册 2002-11-11
状态 离线
『第 6 楼』:  

"问题"自己解决,"超级"不是关键,"急救"是关键,说句不客气的话,本站的通用盘太花绍,没体现出DOS在急救中的作用,功能看似很多,关键时候还是派不上用场. 这两天我将发布2004新版的超级急救盘,等出来以后就明白了.



DOS之家 http://doshome.com 站长 葛明阳
2004-1-25 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
LK
高级用户




积分 915
发帖 309
注册 2002-12-22
状态 离线
『第 7 楼』:  

DOS的作用是急救??

2004-1-25 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
LK
高级用户




积分 915
发帖 309
注册 2002-12-22
状态 离线
『第 8 楼』:  

人家Wengier是在国外,他的通用盘是要做到全球通用,明白?

2004-1-25 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
gmy
版主

操作系统爱好者


积分 1113
发帖 392
注册 2002-11-11
状态 离线
『第 9 楼』:  

谢谢LK提醒,我现在想通了,1.44只能做到轻轻点水,今后专心做光盘版的,不怕没有空间,功能全全全!!!今天的任务是做 最后一软盘版本 "超级急救盘 中文简繁双语版"


[此贴子已经被作者于2004-1-25 13:00:43编辑过]






DOS之家 http://doshome.com 站长 葛明阳
2004-1-25 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
LK
高级用户




积分 915
发帖 309
注册 2002-12-22
状态 离线
『第 10 楼』:  

哦,挺虚心的,我倒有些不好意思了!

顺便问一下:你的论坛和会弹出3721插件的安装么?(3721我已经屏蔽,故有此一问)

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

“新DOS时代”站长


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

急救是DOS的一个重要能力,没错。但DOS的功能很广很多,而那个“急救盘”在这方面完全体现不出来,好像DOS只有“急救”(急救什么?不是急救Windows么?)的功能似的。您的网站既然是“DOS之家”,而不是“Windows急救之家”,最好能比较全面的体现DOS的能力,以名符其实,而不是仅将功能限于某一方面。当然以上仅是一些个人建议罢了。



Wengier - 新DOS时代

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

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

2004-1-25 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 12 楼』:  

Re gmy:

    你的任务实际上不是提取,而是替换。对此类问题,早期的DOS研究者有一类通用的办法,那就是edlin。它作为DOS下的流式文本编辑器,支持管道操作,对于文本的处理最为拿手。只是不知为何MS将它舍弃了。对于你的这个CASE可以考虑使用DEBUG,我的方案尚不成熟,过两天再回复吧。



※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2004-1-26 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
gmy
版主

操作系统爱好者


积分 1113
发帖 392
注册 2002-11-11
状态 离线
『第 13 楼』:  

谢谢答复,已经解决替换问题了,用的是HEXC ,起步下载的,只有5K,支持ASCII和16进制
使用格式 hexc file.txt file.txt "123" "456" /u
意思就是在file.txt中替换123为456,是不是很简单?



DOS之家 http://doshome.com 站长 葛明阳
2004-1-26 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
gmy
版主

操作系统爱好者


积分 1113
发帖 392
注册 2002-11-11
状态 离线
『第 14 楼』:  

我也不知道,因为我已经安装了3721,我想应该会弹出吧.



DOS之家 http://doshome.com 站长 葛明阳
2004-1-26 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 15 楼』:  

Re gmy:

    我以前一直考虑你在启动盘上运行批处理,所以首先排除了需要外部程序才能解决的方案。hexc应该是undisk附带的那个字符串替换工具吧,参数使用简单,大小也轻便。只是我觉得,为了启动一个setup.bat如此大费周章未免不值。本来debug的方案都已想了两个,看你似乎志不在此,索性给你提供另一个思路吧,不用替换字符串。

    dir d:setup.exe /s/b | find "WIN98" > setup98.bat
    call setup98.bat

    岂不省事?


[此贴子已经被作者于2004-1-27 17:01:03编辑过]






※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2004-1-27 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: