中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-25 07:26
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 转贴:添加路径程序 查看 2,208 回复 2
楼 主 转贴:添加路径程序 发表于 2002-11-01 00:00 ·  中国 广东 佛山 三水区 电信
元老会员
★★★★
积分 5,170
发帖 1,637
注册 2002-10-16 00:00
23年会员
UID 8
性别 男
来自 广东佛山
状态 离线
添加路径程序
大家经常发现某些软件安装时修改了AUTOEXEC.BAT文件,使路径
PATH指向自己的目录。本文提供一个小程序可完成此项功能。本程序可以直接
使用: ADPATH 路径名,也可将函数addpath( )用在自己的安
装程序中。
本程序在Turbo C 2.0下编译通过,在X86兼容机上使用正常。
附源程序 ADPATH.C
1 #include
2 #include
3 #include
4 #define flag1 "set path="
5 #define flag2 "path="
6 #define endchar(s) (((char *)s))
7 main(int argc,char *argv)
8 { if(argc<2)
9 {printf("Usage: ADPATH newpath\n";exit(1);}
10 addpath(argv);}
11 addpath(char *newpath)
12 {FILE *aut,*tmp;
13 char buffer;
14 char tname;
15 tmpnam(tname);
16 if((aut=fopen("c:\\autoexec.bat", "r")==NULL)
17 {printf("erro open autoexec.bat";exit(1);}
18 if((tmp=fopen(tname, "w")==NULL)
19 {printf("error create tmpfile";exit(1);}
20 while (!feof(aut))
21 {strcpy(buffer,"";
22 fgets(buffer, 256, aut);
23 if((strnicmp(buffer, flag1, strlen(flag1))==0) ||(strnicmp(buffer, flag2, strlen(flag2)))==0)
24 {if(endchar(buffer)=='\n' endchar(buffer) ='\0';
25 strcat(buffer, (endchar(buffer)==';' ? "" : ";");
26 strcat(strcat(buffer, newpath), "\n";
27 }fputs(buffer,tmp);
28 }fclose(aut);
29 fclose(tmp);
30 remove("c:\\autoexec.bat";
31 rename(tname,"autoexec.new";
32 system("copy autoexec.new c:\\autoexec.bat";
33 remove("autoexec.new";
34 }
□山东 许振华
我的网志
http://hzmys.blog.163.com/
我的网盘
firststep.qjwm.com
fsmys.ys168.com
ssmys.ys168.com
www.brsbox.com/fsmys
www.brsbox.com/ssmys
www.brsbox.com/ccdos
2 发表于 2002-11-03 00:00 ·  中国 河北 唐山 教育网
中级用户
★★
积分 373
发帖 69
注册 2002-10-16 00:00
23年会员
UID 7
性别 男
状态 离线
不错。
3 发表于 2002-11-03 00:00 ·  中国 广东 东莞 电信
元老会员
★★★
CEO
积分 1,019
发帖 300
注册 2002-10-20 00:00
23年会员
UID 33
性别 男
来自 广东
状态 离线
这个程序还不如直接用批处理来得更自然啊:)
禅宗——大道至简,知易行难!
网站: http://www.dgzens.com

QQ: 11951692 微信: dgzens
E-MAIL: warmrose@21cn.com
论坛跳转: