中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS启动盘 & LOGO技术 (启动盘室) » 请版主大及各位高手帮忙写个程序,PLS
作者:
标题: 请版主大及各位高手帮忙写个程序,PLS 上一主题 | 下一主题
拼命三狼
初级用户




积分 146
发帖 12
注册 2004-6-9
状态 离线
『楼 主』:  请版主大及各位高手帮忙写个程序,PLS

请大家帮我编个dos批处理辅助程序(暂时称之为setvars.com),这个程序可能对大家都有用的。 要求: 从一个文件(var.txt)读取一个或多个数据,并将他们设置成变量,变量名由该文件内置,值手工输入 该文件(如:var.txt)由三列(变量名\提示\默认值)组成 举例如下: var.txt内容如下 ip 请指定网络ghost客户机Ip地址(默认值是192.168.1.2): 192.168.1.2 netcard 请指定网卡型号(默认值是Rtl8139,可选型号DLE530TX,RTL8029,PRO100): rtl8139 netmask 请指定子网掩码(默认值是:255.255.225.0) 255.255.255.0 gateway 请指定ghost服务端IP地址(默认值是:192.168.1.1) 192.168.1.1 运行setvars var.txt 结果就是 请指定网络ghost客户机Ip地址(默认值是192.168.1.2): 192.168.1.5 请指定网卡型号(默认值是Rtl8139,可选型号DLE530TX,RTL8029,PRO100):rtl8139 ............ 那么在dos下执行 setvars var.txt会增加四个环境变量 %ip%=192.168.1.5 %netcard%=rtl8139 %netmask%=255.255.255.0 %gateway%=192.168.1.1 比较麻烦是有一个路径的处理,如c:\tools\ 在输入的时候要输入c:\\tools\\ 不弟不才,没有能力写出来,请高手放一个出来,造福一下大家吧 下面是一个名为netghost.bat批处理 setvars var.txt ;从var.txt中读入变量列表 echo %ip% >wattcp.cfg echo %netmask% >> wattcp.cfg echo %gateway% >> wattcp.cfg goto %netcard% ;根据var.txt中的%netcard%变量跳转 goto end :rtl8139 rtspkt.com 0x60 goto netghost :dle530tx DLKFET.COM 0x60 goto netghost :rtl8029 PCIPKT.COM 0x60 goto netghost :pro100 E100BPKT.COM 0x60 goto netghost :netghost ghost goto end :end

[此贴子已经被作者于2004-6-20 上午 09:09:47编辑过]



2004-6-20 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
拼命三狼
初级用户




积分 146
发帖 12
注册 2004-6-9
状态 离线
『第 2 楼』:  

怎么没人回一下呀,要是以前,这个程序我自已是写得来的,几年不玩这玩意了,都还给老师,郁闷. 实现方法:定义一个字符串A,内容为 "set+空格";然后呢从指定的文件(如var.txt)中读入第一列变量B; 并且把字符串A和B相加组成一个新的字符串C 。最后 system(C);就了OVER了,各们高手大哥,帮帮我吧. 注:[system()函数在stdlib.h头文件中,用法:system("dos命令",举例:system("dir"]


2004-6-20 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
拼命三狼
初级用户




积分 146
发帖 12
注册 2004-6-9
状态 离线
『第 3 楼』:  

偶翻书捉鱼,总算是自已搞定了,郁闷的一天


2004-6-21 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
TurboY
中级用户

绝不写垃圾帖


积分 322
发帖 99
注册 2004-7-3
来自 湖北
状态 离线
『第 4 楼』:  

2楼的思路有问题,你可能改的只是子进程的EBV。 尽管你写完了,但我还可以提示你2个思路: 思路1. 查找全局(COMMAND.COM的)EVB并修改。 思路2. 用类似WBAT的方法,生成一个临时BAT并CALL它,这要一个可写的地方。




从95年开始用DOS3.2,96年在Windows3.1里认识了鼠标,97年开始用Win95,98年装过NetWare,99年迷过Linux,现在用WinXP、WinME和DOS7.1。一回首,从盲到忙,从忙到茫。
2004-7-7 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (123693086)  编辑帖子  回复  引用回复

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


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



论坛跳转: