|
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 |
|
|
gmy
版主
操作系统爱好者
积分 1113
发帖 392
注册 2002-11-11
状态 离线
|
『第
3 楼』:
是哪个啊?下载地址?具体文件名??
|
DOS之家 http://doshome.com 站长 葛明阳 |
|
2004-1-23 00:00 |
|
|
LK
高级用户
积分 915
发帖 309
注册 2002-12-22
状态 离线
|
|
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 |
|
|
gmy
版主
操作系统爱好者
积分 1113
发帖 392
注册 2002-11-11
状态 离线
|
『第
6 楼』:
"问题"自己解决,"超级"不是关键,"急救"是关键,说句不客气的话,本站的通用盘太花绍,没体现出DOS在急救中的作用,功能看似很多,关键时候还是派不上用场. 这两天我将发布2004新版的超级急救盘,等出来以后就明白了.
|
DOS之家 http://doshome.com 站长 葛明阳 |
|
2004-1-25 00:00 |
|
|
LK
高级用户
积分 915
发帖 309
注册 2002-12-22
状态 离线
|
|
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 |
|
|
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 |
|