首页 | 邮件资讯 | 技术教程 | 解决方案 | 产品评测 | 邮件人才 | 邮件博客 | 邮件系统论坛 | 软件下载 | 邮件周刊 | 热点专题 | 工具
网络技术 | 操作系统 | 邮件系统 | 客户端 | 电子邮箱 | 反垃圾邮件 | 邮件安全 | 邮件营销 | 移动电邮 | 邮件软件下载 | 电子书下载

操作系统

Windows 9X | Linux&Uinx | Windows Server | 其它操作系统 | Vista | FreeBSD | Windows 7 |
首页 > 操作系统 > Windows 95/98/XP > DOS环境变量“全家福” > 正文

DOS环境变量“全家福”

出处:本站收集于网络 作者:请作者联系 时间:2005-7-5 10:44:00
   环境是DOS系统的变量存储区——一个高速暂存存储器,它保存于RAM中,是DOS系统保存重要信息以供批处理文件使用的场所。用户可以根据需要修正或改变它的信息。很多DOS参考书都忽略了它,但不管你知不知道,都在自觉或不自觉地使用着它。

   如何造访环境

  造访环境有两种方法,一种是通过SET命令来查看,另一种是使用DOS系统的DEBUG命令来查看计算机的RAM。SET命令直观、方便,大多数DOS用户都喜欢使用它来设置和查看DOS环境。

  1.用SET命令

  SET命令可用于设置、修改和查看环境变量,键入无参数的SET命令可显示当前环境设置。这些设置一般包括COMSPEC和PATH环境变量,MS-DOS用它们在磁盘上寻找程序。另外还有PROMPT、DIRCMD、COPYCMD等为DOS系统所使用的其它环境变量。这些环境变量大多在AUTOEXEC.BAT或CONFIG.SYS文件中用SET命令设置而生成。如下例:

  C:\>SET COMSPEC=C:\COMMAND.COM
   PROMPT=$p$g
  PATH=C:\WINDOWS;C:\;C:\DOS;C:\FOXPRO25;C:\UCDOS;C:\GYPC;C:\CCED;C:\HD;C:\SARP
  TEMP=C:\DOS

  2.通过DEBUG命令

  DEBUG是DOS提供的调试程序的有力工具,利用它可以检验磁盘原始信息、查看内存单元、反汇编程序文件或生成新程序等等,然而DEBUG命令有一定的危险性,因此用户在使用过程中须注意。

  DOS系统每运行一个程序都要生成一个256字节的内存块——程序段前缀PSP(Program Segment Prefix),它包含了一些比较重要的信息,如内存单元、矢量、命令行上键入的文件名、命令行本身(用户运行程序的命令行的拷贝)、各种保留缓冲器存储地点的信息。只要涉及环境,那些存储地点之一就会保存系统环境地址。

  在DEBUG命令状态下查看环境,首先查看偏移量2C处的两个字节:

  -D2CL2
  1B41:0020  90 09

  数据90 09是在某系统上得到的计算机环境的段地址值(用户在操作时应以实际显示数为准),把这两对数以相反的顺序,并在后面跟上偏移量0,就能在DEBUG命令上显示系统环境。如下例:

  -D0990:0
  0990:0000 43 4F 4D 53 50 45 43 3D-43 3A 5C 43 4F 4D 4D 41 COMSPEC=C:\COMMA
  0990:0010 4E 44 2E 43 4F 4D 00 50-52 4F 4D 50 54 3D 24 70 ND.COM.PROMPT=$p
  0090:0020 24 67 00 50 41 54 48 3D-43 3A 5C 57 49 4E 44 4F $g.PATH=C:\WINDO
  0990:0030 57 53 3B 43 3A 5C 3B 43-3A 5C 44 4F 53 3B 43 3A WS;C:\;C:\DOS;C:
  0990:0040 5C 46 4F 58 50 52 4F 32-35 3B 43 3A 5C 55 43 44 \FOXPRO25;C:\UCD
  0990:0050 4F 53 3B 43 3A 5C 47 59-50 43 3B 43 3A 5C 43 43 OS;C:\GYPC;C:\CC
  0990:0060 45 44 3B 43 3A 5C 48 44-3B 43 3A 5C 53 41 52 50 ED;C:\HD;C:\SARP
  0990:0070 00 54 45 4D 50 3D 43 3A-5C 44 4F 53 00 00 01 00 .TEMP=C:\DOS...

  从上面所显示的环境可以看到,环境中的每项都被“空”字节00隔开,并且环境中的最后一项后面是两个空字符。

  上面两种方法所显示的环境,其结果是一致的。

  环境变量“众生相”

  1.COMSPEC变量

  这个变量规定了COMMAND.COM文件的位置。通常,如果计算机由硬盘驱动器引导 COMSPEC变量表示为:

  COMSPEC=C:\COMMAND.COM

  如果是从软盘驱动器引导的,则COMSPEC变量表示为:

  COMSPEC=A:\COMMAND.COM

  使用SET命令能改变COMSPEC的位置,格式为:

  SET COMSPEC=C:\DOS\COMMAND.COM

  此命令在系统环境中把COMSPEC重新设置成C盘DOS目录中的COMMAND.COM文件,因为COMMAND.COM不需要在用户的根目录中。用户也可以把COMMAND.COM放进其它子目录中,采用CONFIG.SYS的SHELL命令来完成这项工作。在计算机的启动过程中,CONFIG.SYS是在COMMAND.COM装入之前运行的,用SHELL命令通知DOS系统COMMAND.COM在另一个目录中,则系统到那个目录去找它。这有一个明显的优点,它保持了根目录的清洁。

  另外,为保证系统能正常运行,用户还需在CONFIGSYS文件中加上这样一句:

  SHELL=C:\DOS\COMMAND.COM /P [/E:1024]

  此命令指示DOS在C:\DOS子目录中寻找并运行命令解释程序或外壳程序COMMAND.COM。如果把此命令加到CONFIG.SYS文件中,可提前把COMMAND.COM移到DOS子目录中。P选项指示COMMAND.COM在根目录中寻找AUTOEXEC.BAT文件并且运行它,如果没有此选项,则根目录下的AUTOEXEC.BAT文件不能运行。

  当DOS系统没有更多的空间存储环境变量时,将会看到信息:

  Out of environment space(环境空间溢出)

  出现这种情况后,可利用SHELL命令加大COMMAND.COM的环境空间,可选项E:1024就是将环境空间扩大到1KB(1024字节)。

  2.PROMPT变量

  这个环境变量显示用户所设置的命令提示符。DOS系统提示符一般设置为显示当前驱动器和路径后接一“>”符号,当然也可以设置为其它类型的命令提示符,这个变量一般在AUTOEXECBAT文件中设置,命令使用的一般格式为:

  PROMPT $p$g

  当然,你也可以使用SET PROMPT=$p$g。

  3.PATH变量

  这个环境变量包括用PATH命令设置路径,使DOS系统能在指定的目录中搜索可执行的文件。

  4.DIRCMD变量

  这个环境变量让用户确定DIR命令缺省使用的开关和参数集。用户可在AUTOEXEC.BAT文件中或命令提示符下使用SET命令定义DIRCMD环境变量,预先设置DIR的参数和选项的合法组合(可包括路径和文件名)。

  例如,要把DIRCMD环境变量设置为满屏时暂停(/P)为缺省格式,在AUTOEXEC.BAT批处理文件或DOS命令提示符下键入:

  SET DIRCMD=/P

  这时使用DIR命令,在满一屏时将暂停并提示“按任意键继续”。

  若不想使用这个缺省格式,可在命令行上使用:

  DIR/-P

  如要清除此缺省设置,在命令提示符下键入:

  SET DIRCMD=

  5.COPYCMD变量

  用户可以通过设置COPYCMD环境变量,指定COPY、MOVE、XCOPY命令是否先给出提示,经确认后再覆盖文件。

  若强制要求COPY、MOVE、XCOPY命令在所有情况下均先给出提示:

  Overwrite Filename(YES/NO/ALL)?

  就把COPYCMD环境变量设置成/-Y(SET COPYCMD=/-Y),用户可以根据需要来选择是否覆盖。也可以强制要求COPY、MOVE、XCOPY命令在所有情况下都不提示就进行覆盖 , 则把COPYCMD环境变量设置成/Y(SET COPYCMD=/Y)。这里所设置的COPYCMD环境变量,优先于COPYCMD环境变量的所有缺省值和当前值。

  6.TEMP变量

  TEMP是一个常用的环境变量,它告诉程序在何处建立临时文件,而有一些程序需要使用环境变量来识别它们要使用的目录。如下例:

  SET TEMP=C:\DOS

  在此例中,环境变量TEMP被DOS环境和一些其它程序使用,以确定当前文件子目录的位置。上面的目录C:\DOS被放入环境中,现在DOS系统知道把它们当前的文件放在哪里。在AUTOEXEC.BAT文件中,用户能够也应该设置环境的整个转换。

  环境变量与批处理文件的亲密关系

  使用环境变量可以控制某些批处理文件和使程序可按照用户的意愿进行,可以控制MS-DOS显示与工作的方式。一般在AUTOEXECBAT或CONFIGSYS文件中用SET命令设定用户环境,以便每次启动计算机时系统都能根据用户需要自动设置环境变量。

  1.在批处理文件中调用环境变量

  从批处理文件中调用环境变量值时,必须用百分符(%)将变量值括起来。如设置名为WIN32的变量,使它等于字符串C:\Windows\SYSTEM(C盘中的目录),可键入以下命令:

  SET WIN32=C:\WINDOWS\SYSTEM

  在批处理文件中可用%WIN32%代替C:\WINDOWS\SYSTEM。在批处理文件中包括以下命令,显示C:\WINDOWS\SYSTEM环境变量的目录内容:

  DIR %WIN32%

  当MS-DOS处理该命令时,会用字符串C:\WINDOWS\SYSTEM代替%WIN32%。

  2.在批处理文件中保存和恢复原有环境下的路径

  对每一个批处理文件,用户都可以修改环境变量,而各个批处理文件需要不同的PATH指明路径,以执行批处理下的程序,这就需要用户保存原有环境下的路径。用户可在批处理文件中使用一个环境变量暂时存储用户原来的路径,以便在需要时可以恢复,而不需要重新用PATH命令来设置:

  SET OLDPATH=%PATH%

  例如某计算机的设置如下:

  SET OLDPATH=C:\WINDOWS;C:\; C:\DOS;C:\FOXPRO25; C:\UCDOS; C:\GYPC; C:\CCED;C:\HD; C:\SARP

  批处理文件解释程序把%PATH%变量扩展成用户的当前路径,故OLDPATH变量等于此路径。如果此时系统因使用其它批处理文件而打乱了原系统路径,可简单地在批处理文件中使用下列语句恢复路径的原貌,以满足用户对不同环境的需要。如下例:

  PATH %OLDPATH%

  计算机显示它的执行情况:

  PATH C:\WINDOWS;C:\;C:\DOS;C:\FOXPRO25;C:\UCDOS;C:\GYPC;C:\CCED;C:\HD;C:\SARP

  其实,很多用户都可能在各自的AUTOEXEC.BAT文件中存有“OLDPATH”变量,由于此环境变量总包含原有路径的备份,因此可以很容易地恢复原有路径。

  小结

  环境是DOS系统很重要的内容之一,它是DOS系统保存重要信息供批处理文件使用的变量存储区——一个高速暂存存储器。它在此保存重要的信息,且用户能把批处理文件的环境变量放入其中。

  SET命令对环境而言是相当重要的,它被用来给变量赋值、清除变量,并显示环境内容。

  除了用户生成环境变量(COMSPEC)给出COMMANDCOM的位置外,PATH设置系统的搜索路径;PROMPT设置系统提示符;COPYCMD环境变量指定COPY、MOVE、XCOPY命令是否对要覆盖的文件进行提示;DIRCMD环境变量可以预置DIR参数和开关项。

  由于环境表相当小,SHELL命令可用于扩大其容量,这虽然避免了“环境空间溢出(Out of environment space)”这个错误,但同时也多占了系统的RAM。

,
相关文章 热门文章
  • 详解DDoS攻击实施的六大方法
  • 思科:从路由和交换机入手应对Dos攻击
  • FRCP法案促进电子发现行业发展
  • 用cisco命令确定和跟踪DOS攻击源
  • Cisco路由器上防止DDOS的一些建议
  • Linux对Windows系统进行DDOS攻击的方法
  • 别出心裁 XP中增强MS-DOS窗口吸引力
  • DOS环境巧妙破除WindowsXP登陆密码
  • 妙法 WinXP/2000/2003也从DOS启动
  • 用思科路由对DDOS攻击的防御思路
  • 如何判断是否遭到流量攻击?
  • 防火墙防控DDOS攻击三步曲
  • Win2000/XP与Win98互访
  • Windows XP系统恢复全攻略
  • Windows蓝屏代码详解
  • Windows系统操作技巧
  • 在dos系统下使用USB盘
  • 彻底解决Windows XP网络文件共享
  • Windows下的netstat和nbtstat
  • 在Win98中更改Win2000的密码
  • 资源共享,如此“GUEST”
  • Windows Me优化指南
  • 解析Win XP恢复管理员密码的五大秘诀
  • FTP用户无法登录排错详解
  • 自由广告区
     
    最新软件下载
  • SharePoint Server 2010 部署文档
  • Exchange 2010 RTM升级至SP1 教程
  • Exchange 2010 OWA下RBAC实现的组功能...
  • Lync Server 2010 Standard Edition 标..
  • Lync Server 2010 Enterprise Edition...
  • Forefront Endpoint Protection 2010 ...
  • Lync Server 2010 Edge 服务器部署文档
  • 《Exchange 2003专家指南》
  • Mastering Hyper-V Deployment
  • Windows Server 2008 R2 Hyper-V
  • Microsoft Lync Server 2010 Unleashed
  • Windows Server 2008 R2 Unleashed
  • 今日邮件技术文章
  • 腾讯,在创新中演绎互联网“进化论”
  • 华科人 张小龙 (中国第二代程序员 QQ...
  • 微软推出新功能 提高Hotmail密码安全性
  • 快压技巧分享:秒传邮件超大附件
  • 不容忽视的邮件营销数据分析过程中的算..
  • 国内手机邮箱的现状与未来发展——访尚..
  • 易观数据:2011Q2中国手机邮箱市场收入..
  • 穿越时空的爱恋 QQ邮箱音视频及贺卡邮件
  • Hotmail新功能:“我的朋友可能被黑了”
  • 入侵邻居网络发骚扰邮件 美国男子被重..
  • 网易邮箱莫子睿:《非你莫属》招聘多过..
  • 中国电信推广189邮箱绿色账单
  • 最新专题
  • 鸟哥的Linux私房菜之Mail服务器
  • Exchange Server 2010技术专题
  • Windows 7 技术专题
  • Sendmail 邮件系统配置
  • 组建Exchange 2003邮件系统
  • Windows Server 2008 专题
  • ORF 反垃圾邮件系统
  • Exchange Server 2007 专题
  • ISA Server 2006 教程专题
  • Windows Vista 技术专题
  • “黑莓”(BlackBerry)专题
  • Apache James 专题
  • 分类导航
    邮件新闻资讯:
    IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮
    电子邮箱 | 反垃圾邮件|邮件客户端|网络安全
    行业数据 | 邮件人物 | 网站公告 | 行业法规
    网络技术:
    邮件原理 | 网络协议 | 网络管理 | 传输介质
    线路接入 | 路由接口 | 邮件存储 | 华为3Com
    CISCO技术 | 网络与服务器硬件
    操作系统:
    Windows 9X | Linux&Uinx | Windows NT
    Windows Vista | FreeBSD | 其它操作系统
    邮件服务器:
    程序与开发 | Exchange | Qmail | Postfix
    Sendmail | MDaemon | Domino | Foxmail
    KerioMail | JavaMail | Winwebmail |James
    Merak&VisNetic | CMailServer | WinMail
    金笛邮件系统 | 其它 |
    反垃圾邮件:
    综述| 客户端反垃圾邮件|服务器端反垃圾邮件
    邮件客户端软件:
    Outlook | Foxmail | DreamMail| KooMail
    The bat | 雷鸟 | Eudora |Becky! |Pegasus
    IncrediMail |其它
    电子邮箱: 个人邮箱 | 企业邮箱 |Gmail
    移动电子邮件:服务器 | 客户端 | 技术前沿
    邮件网络安全:
    软件漏洞 | 安全知识 | 病毒公告 |防火墙
    攻防技术 | 病毒查杀| ISA | 数字签名
    邮件营销:
    Email营销 | 网络营销 | 营销技巧 |营销案例
    邮件人才:招聘 | 职场 | 培训 | 指南 | 职场
    解决方案:
    邮件系统|反垃圾邮件 |安全 |移动电邮 |招标
    产品评测:
    邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端
    广告联系 | 合作联系 | 关于我们 | 联系我们 | 繁體中文
    版权所有:邮件技术资讯网©2003-2010 www.5dmail.net, All Rights Reserved
    www.5Dmail.net Web Team   粤ICP备05009143号