中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 转贴:添加路径程序 上一主题 | 下一主题
MYS
元老会员




积分 5170
发帖 1637
注册 2002-10-16
来自 广东佛山
状态 离线
『楼 主』:  转贴:添加路径程序

添加路径程序
    大家经常发现某些软件安装时修改了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)[strlen(s)  -  1])
    7  main(int  argc,char  *argv[])
    8  {  if(argc<2)
    9  {printf("Usage:  ADPATH  newpath\n";exit(1);}
    10  addpath(argv[1]);}
    11  addpath(char  *newpath)
    12  {FILE  *aut,*tmp;
    13  char  buffer[256];
    14  char  tname[L_tmpnam];
    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
2002-11-1 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (2664429)  编辑帖子  回复  引用回复
baobolz
中级用户




积分 373
发帖 69
注册 2002-10-16
状态 离线
『第 2 楼』:  

不错。

2002-11-3 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
禅宗
元老会员

CEO


积分 1019
发帖 300
注册 2002-10-20
来自 广东
状态 离线
『第 3 楼』:  

这个程序还不如直接用批处理来得更自然啊:)



禅宗——大道至简,知易行难!
网站: http://www.dgzens.com

QQ: 11951692  微信:  dgzens
E-MAIL: warmrose@21cn.com
2002-11-3 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (11951692)  编辑帖子  回复  引用回复

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


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



论坛跳转: