<?xml version="1.0" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="css/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>国家劳动局IT培训咨询与技术指南 - FreeDOS</title><link>http://www.7layer.cn/</link><description>劳动局IT培训;劳动局IT认证;劳动局IT技术;政府补贴;免费培训 - </description><generator>RainbowSoft Studio Z-Blog 1.8 Walle Build 100427</generator><language>zh-CN</language><copyright>版权所有 2008-2010 国家劳动局IT培训咨询与技术指南var gaJsHost = ((&amp;quot;https:&amp;quot; == document.location.protocol) ? &amp;quot;https://ssl.&amp;quot; : &amp;quot;http://www.&amp;quot;);document.write(unescape(&amp;quot;%3Cscript src='&amp;quot; + gaJsHost + &amp;quot;google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E&amp;quot;));try {var pageTracker = _gat._getTracker(&amp;quot;UA-12945401-1&amp;quot;);pageTracker._trackPageview();} catch(err) {}</copyright><pubDate>Sun, 05 Sep 2010 10:51:01 +0800</pubDate><item><title>DOS命令淘金——ECHO命令的使用 </title><author>55990359@qq.com (administrator)</author><link>http://www.7layer.cn/cat_37/1498/2010060833./2010060833..html</link><pubDate>Tue, 08 Jun 2010 12:36:52 +0800</pubDate><guid>http://www.7layer.cn/cat_37/1498/2010060833./2010060833..html</guid><description><![CDATA[<p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp; ECHO命令是大家都熟悉的DOS批处理命令的一条子命令，但它的一些功能和用法也许你并不是全都知道，不信你瞧：</p><p>1．&nbsp;&nbsp;&nbsp;作为控制批处理命令在执行时是否显示命令行自身的开关&nbsp;</p><p>格式：ECHO&nbsp;[ON|OFF]</p><p>如果想关闭&ldquo;ECHO&nbsp;OFF&rdquo;命令行自身的显示，则需要在该命令行前加上&ldquo;@&rdquo;。</p><p>2．&nbsp;&nbsp;&nbsp;显示当前ECHO设置状态&nbsp;</p><p>格式：ECHO</p><p>3．&nbsp;&nbsp;&nbsp;输出提示信息&nbsp;</p><p>格式：ECHO信息内容</p><p>上述是ECHO命令常见的三种用法，也是大家熟悉和会用的，但作为DOS命令淘金者你还应该知道下面的技巧：</p><p>4．&nbsp;&nbsp;&nbsp;关闭DOS命令提示符&nbsp;</p><p>在DOS提示符状态下键入ECHO&nbsp;OFF，能够关闭DOS提示符的显示使屏幕只留下光标，直至键入ECHO&nbsp;ON，提示符才会重新出现。</p><p>5．&nbsp;&nbsp;&nbsp;输出空行，即相当于输入一个回车&nbsp;</p><p>格式：ECHO．</p><p>值得注意的是命令行中的&ldquo;．&rdquo;要紧跟在ECHO后面中间不能有空格，否则&ldquo;．&rdquo;将被当作提示信息输出到屏幕。另外&ldquo;．&rdquo;可以用，：；&rdquo;／[\]＋等任一符号替代。</p><p>在下面的例子中ECHO．输出的回车，经DOS管道转向作为TIME命令的输入，即相当于在TIME命令执行后给出一个回车。所以执行时系统会在显示当前时间后，自动返回到DOS提示符状态：</p><p>C:&gt;ECHO.|TIME</p><p>ECHO命令输出空行的另一个应用实例是：将ECHO．加在自动批处理文件中，使原本在屏幕下方显示的提示画面，出现在屏幕上方。</p><p>6．&nbsp;&nbsp;&nbsp;答复命令中的提问&nbsp;</p><p>格式：ECHO答复语|命令文件名</p><p>上述格式可以用于简化一些需要人机对话的命令（如：CHKDSK／F；FORMAT&nbsp;Drive:；del&nbsp;*.*）的操作，它是通过DOS管道命令把ECHO命令输出的预置答复语作为人机对话命令的输入。下面的例子就相当于在调用的命令出现人机对话时输入&ldquo;Y&rdquo;回车：</p><p>C:&gt;ECHO&nbsp;Y|CHKDSK/F</p><p>C:&gt;ECHO&nbsp;Y|DEL&nbsp;A&nbsp;:*.*</p><p>7．&nbsp;&nbsp;&nbsp;建立新文件或增加文件内容&nbsp;</p><p>格式：ECHO&nbsp;文件内容＞文件名</p><p>ECHO&nbsp;文件内容＞＞文件名</p><p>例如：C:&gt;ECHO&nbsp;@ECHO&nbsp;OFF&gt;AUTOEXEC.BAT建立自动批处理文件</p><p>C:&gt;ECHO&nbsp;C:\CPAV\BOOTSAFE&gt;&gt;AUTOEXEC.BAT向自动批处理文件中追加内容</p><p>C:TYPE&nbsp;AUTOEXEC.BAT显示该自动批处理文件</p><p>@ECHO&nbsp;OFF</p><p>C:\CPAV\BOOTSAFE</p><p>8．&nbsp;&nbsp;&nbsp;向打印机输出打印内容或打印控制码&nbsp;</p><p>格式：ECHO&nbsp;打印机控制码＞PRN</p><p>ECHO&nbsp;打印内容＞PRN</p><p>下面的例子是向M－1724打印机输入打印控制码。＜Alt＞156是按住Alt键在小键盘键入156，类似情况依此类推：</p><p>C:&gt;ECHO&nbsp;&lt;Alt&gt;+156&lt;Alt&gt;+42&lt;Alt&gt;+116&gt;PRN（输入下划线命令FS＊t）</p><p>C:&gt;ECHO&nbsp;&lt;Alt&gt;+155@&gt;PRN（输入初始化命令ESC@）</p><p>C:&gt;ECHO.&gt;PRN（换行）</p><p>9．&nbsp;&nbsp;&nbsp;使喇叭鸣响&nbsp;</p><p>C:&gt;ECHO&nbsp;^G</p><p>&ldquo;^G&rdquo;是用Ctrl＋G或Alt＋007输入，输入多个^G可以产生多声鸣响。使用方法是直接将其加入批处理文件中或做成批处理文件调用。</p><p>10．执行ESC控制序列修改屏幕和键盘设置&nbsp;</p><p>我们知道DOS的设备驱动程序ANSI.SYS提供了一套用来修改屏幕和键盘设置的ESC控制序列。如执行下述内容的批处理程序可以把功能键F12定义为DOS命令&ldquo;DIR／W&rdquo;，并把屏幕颜色修改为白色字符蓝色背景。</p><p>@ECHO&rdquo;&larr;[0;134;&rdquo;DIR/W&rdquo;;13p</p><p>@ECHO&rdquo;&larr;[1;37;44m</p><p>（注：批处理文件中&ldquo;&larr;&rdquo;字符的输入方法是在编辑状态下按Alt中小键盘上的27）</p><p>&nbsp;&nbsp;&nbsp; DOS命令是接触计算机的人首先要学到的，对许多人来说是太熟悉太简单了，其实不然，在这些命令中蕴藏着丰富的内容，仍有待于我们进一步去理解去开发，如果你是一个有心人就一定会从这些自以为熟知的命令中发现新的闪光点，淘得真金。</p>]]></description><category>FreeDOS</category><comments>http://www.7layer.cn/cat_37/1498/2010060833./2010060833..html#comment</comments><wfw:comment>http://www.7layer.cn/</wfw:comment><wfw:commentRss>http://www.7layer.cn/feed.asp?cmt=1498</wfw:commentRss><trackback:ping>http://www.7layer.cn/cmd.asp?act=tb&amp;id=1498&amp;key=d4203933</trackback:ping></item><item><title>DOS环境变量“全家福”</title><author>55990359@qq.com (administrator)</author><link>http://www.7layer.cn/cat_37/1497/20100608724/20100608724.html</link><pubDate>Tue, 08 Jun 2010 11:28:58 +0800</pubDate><guid>http://www.7layer.cn/cat_37/1497/20100608724/20100608724.html</guid><description><![CDATA[<p>&nbsp;</p><p><font face="楷体_GB2312">　　环境是DOS系统的变量存储区&mdash;&mdash;一个高速暂存存储器，它保存于RAM中，是DOS系统保存重要信息以供批处理文件使用的场所。用户可以根据需要修正或改变它的信息。很多DOS参考书都忽略了它，但不管你知不知道，都在自觉或不自觉地使用着它。&nbsp;<br />　&nbsp;<br />　　如何造访环境&nbsp;</font></p><p><font face="楷体_GB2312">　　造访环境有两种方法，一种是通过SET命令来查看，另一种是使用DOS系统的DEBUG命令来查看计算机的RAM。SET命令直观、方便，大多数DOS用户都喜欢使用它来设置和查看DOS环境。&nbsp;</font></p><p><font face="楷体_GB2312">　　1.用SET命令&nbsp;</font></p><p><font face="楷体_GB2312">　　SET命令可用于设置、修改和查看环境变量，键入无参数的SET命令可显示当前环境设置。这些设置一般包括COMSPEC和PATH环境变量，MS－DOS用它们在磁盘上寻找程序。另外还有PROMPT、DIRCMD、COPYCMD等为DOS系统所使用的其它环境变量。这些环境变量大多在AUTOEXEC.BAT或CONFIG.SYS文件中用SET命令设置而生成。如下例：&nbsp;</font></p><p><font face="楷体_GB2312">　　C：\&gt;SET&nbsp;COMSPEC=C：\COMMAND.COM<br />　　PROMPT=$p$g<br />&nbsp; 　PATH=C:\WINDOWS;C:\;C:\DOS;C:\FOXPRO25;C:\UCDOS;C:\GYPC;C:\CCED;C:\HD;C:\SARP<br />&nbsp; 　TEMP=C:\DOS&nbsp;</font></p><p><font face="楷体_GB2312">　　2.通过DEBUG命令&nbsp;</font></p><p><font face="楷体_GB2312">　　DEBUG是DOS提供的调试程序的有力工具，利用它可以检验磁盘原始信息、查看内存单元、反汇编程序文件或生成新程序等等，然而DEBUG命令有一定的危险性，因此用户在使用过程中须注意。&nbsp;</font></p><p><font face="楷体_GB2312">　　DOS系统每运行一个程序都要生成一个256字节的内存块&mdash;&mdash;程序段前缀PSP(Program&nbsp;Segment&nbsp;Prefix)，它包含了一些比较重要的信息，如内存单元、矢量、命令行上键入的文件名、命令行本身(用户运行程序的命令行的拷贝)、各种保留缓冲器存储地点的信息。只要涉及环境，那些存储地点之一就会保存系统环境地址。&nbsp;</font></p><p><font face="楷体_GB2312">　　在DEBUG命令状态下查看环境，首先查看偏移量2C处的两个字节：&nbsp;</font></p><p><font face="楷体_GB2312">　　－D2CL2<br />&nbsp; 　1B41：0020　　90&nbsp;09&nbsp;</font></p><p><font face="楷体_GB2312">　　数据90&nbsp;09是在某系统上得到的计算机环境的段地址值(用户在操作时应以实际显示数为准)，把这两对数以相反的顺序，并在后面跟上偏移量0，就能在DEBUG命令上显示系统环境。如下例：&nbsp;</font></p><p><font face="楷体_GB2312">　　－D0990：0<br />&nbsp; 　0990：0000　43&nbsp;4F&nbsp;4D&nbsp;53&nbsp;50&nbsp;45&nbsp;43&nbsp;3D－43&nbsp;3A&nbsp;5C&nbsp;43&nbsp;4F&nbsp;4D&nbsp;4D&nbsp;41&nbsp;COMSPEC=C：\COMMA<br />&nbsp; 　0990：0010　4E&nbsp;44&nbsp;2E&nbsp;43&nbsp;4F&nbsp;4D&nbsp;00&nbsp;50－52&nbsp;4F&nbsp;4D&nbsp;50&nbsp;54&nbsp;3D&nbsp;24&nbsp;70&nbsp;ND.COM.PROMPT=＄p<br />&nbsp; 　0090：0020　24&nbsp;67&nbsp;00&nbsp;50&nbsp;41&nbsp;54&nbsp;48&nbsp;3D－43&nbsp;3A&nbsp;5C&nbsp;57&nbsp;49&nbsp;4E&nbsp;44&nbsp;4F&nbsp;＄g.PATH=C：\WINDO<br />&nbsp; 　0990：0030　57&nbsp;53&nbsp;3B&nbsp;43&nbsp;3A&nbsp;5C&nbsp;3B&nbsp;43－3A&nbsp;5C&nbsp;44&nbsp;4F&nbsp;53&nbsp;3B&nbsp;43&nbsp;3A&nbsp;WS；C：\；C：\DOS；C：<br />&nbsp; 　0990：0040　5C&nbsp;46&nbsp;4F&nbsp;58&nbsp;50&nbsp;52&nbsp;4F&nbsp;32－35&nbsp;3B&nbsp;43&nbsp;3A&nbsp;5C&nbsp;55&nbsp;43&nbsp;44&nbsp;\FOXPRO25；C：\UCD<br />&nbsp; 　0990：0050　4F&nbsp;53&nbsp;3B&nbsp;43&nbsp;3A&nbsp;5C&nbsp;47&nbsp;59－50&nbsp;43&nbsp;3B&nbsp;43&nbsp;3A&nbsp;5C&nbsp;43&nbsp;43&nbsp;OS；C：\GYPC；C：\CC<br />&nbsp; 　0990：0060　45&nbsp;44&nbsp;3B&nbsp;43&nbsp;3A&nbsp;5C&nbsp;48&nbsp;44－3B&nbsp;43&nbsp;3A&nbsp;5C&nbsp;53&nbsp;41&nbsp;52&nbsp;50&nbsp;ED；C：\HD；C：\SARP<br />&nbsp; 　0990：0070　00&nbsp;54&nbsp;45&nbsp;4D&nbsp;50&nbsp;3D&nbsp;43&nbsp;3A－5C&nbsp;44&nbsp;4F&nbsp;53&nbsp;00&nbsp;00&nbsp;01&nbsp;00&nbsp;.TEMP=C：\DOS...&nbsp;</font></p><p><font face="楷体_GB2312">　　从上面所显示的环境可以看到，环境中的每项都被&ldquo;空&rdquo;字节00隔开，并且环境中的最后一项后面是两个空字符。&nbsp;</font></p><p><font face="楷体_GB2312">　　上面两种方法所显示的环境，其结果是一致的。&nbsp;</font></p><p><font face="楷体_GB2312">　　&nbsp;</font></p><p><font face="楷体_GB2312">　　环境变量&ldquo;众生相&rdquo;&nbsp;</font></p><p><font face="楷体_GB2312">　　1.COMSPEC变量&nbsp;</font></p><p><font face="楷体_GB2312">　　这个变量规定了COMMAND.COM文件的位置。通常，如果计算机由硬盘驱动器引导&nbsp;COMSPEC变量表示为：&nbsp;</font></p><p><font face="楷体_GB2312">　　COMSPEC=C：\COMMAND.COM</font></p><p><font face="楷体_GB2312">　　如果是从软盘驱动器引导的，则COMSPEC变量表示为：&nbsp;</font></p><p><font face="楷体_GB2312">　　COMSPEC=A：\COMMAND.COM</font></p><p><font face="楷体_GB2312">　　使用SET命令能改变COMSPEC的位置，格式为：&nbsp;</font></p><p><font face="楷体_GB2312">　　SET&nbsp;COMSPEC=C：\DOS\COMMAND.COM</font></p><p><font face="楷体_GB2312">　　此命令在系统环境中把COMSPEC重新设置成C盘DOS目录中的COMMAND.COM文件，因为COMMAND.COM不需要在用户的根目录中。用户也可以把COMMAND.COM放进其它子目录中，采用CONFIG.SYS的SHELL命令来完成这项工作。在计算机的启动过程中，CONFIG.SYS是在COMMAND.COM装入之前运行的，用SHELL命令通知DOS系统COMMAND.COM在另一个目录中，则系统到那个目录去找它。这有一个明显的优点，它保持了根目录的清洁。&nbsp;</font></p><p><font face="楷体_GB2312">　　另外，为保证系统能正常运行，用户还需在CONFIGSYS文件中加上这样一句：&nbsp;</font></p><p><font face="楷体_GB2312">　　SHELL=C:\DOS\COMMAND.COM /P [/E:1024]</font></p><p><font face="楷体_GB2312">　　此命令指示DOS在C：\DOS子目录中寻找并运行命令解释程序或外壳程序COMMAND.COM。如果把此命令加到CONFIG.SYS文件中，可提前把COMMAND.COM移到DOS子目录中。P选项指示COMMAND.COM在根目录中寻找AUTOEXEC.BAT文件并且运行它，如果没有此选项，则根目录下的AUTOEXEC.BAT文件不能运行。&nbsp;</font></p><p><font face="楷体_GB2312">　　当DOS系统没有更多的空间存储环境变量时，将会看到信息：&nbsp;</font></p><p><font face="楷体_GB2312">　　Out&nbsp;of&nbsp;environment&nbsp;space(环境空间溢出)&nbsp;</font></p><p><font face="楷体_GB2312">　　出现这种情况后，可利用SHELL命令加大COMMAND.COM的环境空间，可选项E：1024就是将环境空间扩大到1KB(1024字节)。&nbsp;</font></p><p><font face="楷体_GB2312">　　2.PROMPT变量&nbsp;</font></p><p><font face="楷体_GB2312">　　这个环境变量显示用户所设置的命令提示符。DOS系统提示符一般设置为显示当前驱动器和路径后接一&ldquo;&gt;&rdquo;符号，当然也可以设置为其它类型的命令提示符，这个变量一般在AUTOEXECBAT文件中设置，命令使用的一般格式为：&nbsp;</font></p><p><font face="楷体_GB2312">　　PROMPT&nbsp;$p$g&nbsp;</font></p><p><font face="楷体_GB2312">　　当然，你也可以使用SET&nbsp;PROMPT=$p$g。&nbsp;</font></p><p><font face="楷体_GB2312">　　3.PATH变量&nbsp;</font></p><p><font face="楷体_GB2312">　　这个环境变量包括用PATH命令设置路径，使DOS系统能在指定的目录中搜索可执行的文件。&nbsp;</font></p><p><font face="楷体_GB2312">　　4.DIRCMD变量&nbsp;</font></p><p><font face="楷体_GB2312">　　这个环境变量让用户确定DIR命令缺省使用的开关和参数集。用户可在AUTOEXEC.BAT文件中或命令提示符下使用SET命令定义DIRCMD环境变量，预先设置DIR的参数和选项的合法组合(可包括路径和文件名)。&nbsp;</font></p><p><font face="楷体_GB2312">　　例如，要把DIRCMD环境变量设置为满屏时暂停(／P)为缺省格式，在AUTOEXEC.BAT批处理文件或DOS命令提示符下键入：&nbsp;</font></p><p><font face="楷体_GB2312">　　SET&nbsp;DIRCMD=/P&nbsp;</font></p><p><font face="楷体_GB2312">　　这时使用DIR命令，在满一屏时将暂停并提示&ldquo;按任意键继续&rdquo;。&nbsp;</font></p><p><font face="楷体_GB2312">　　若不想使用这个缺省格式，可在命令行上使用：&nbsp;</font></p><p><font face="楷体_GB2312">　　DIR/-P&nbsp;</font></p><p><font face="楷体_GB2312">　　如要清除此缺省设置，在命令提示符下键入：&nbsp;</font></p><p><font face="楷体_GB2312">　　SET&nbsp;DIRCMD=&nbsp;</font></p><p><font face="楷体_GB2312">　　5.COPYCMD变量&nbsp;</font></p><p><font face="楷体_GB2312">　　用户可以通过设置COPYCMD环境变量，指定COPY、MOVE、XCOPY命令是否先给出提示，经确认后再覆盖文件。&nbsp;</font></p><p><font face="楷体_GB2312">　　若强制要求COPY、MOVE、XCOPY命令在所有情况下均先给出提示：&nbsp;</font></p><p><font face="楷体_GB2312">　　Overwrite&nbsp;Filename(YES／NO／ALL)？&nbsp;</font></p><p><font face="楷体_GB2312">　　就把COPYCMD环境变量设置成／－Y(SET&nbsp;COPYCMD=／－Y)，用户可以根据需要来选择是否覆盖。也可以强制要求COPY、MOVE、XCOPY命令在所有情况下都不提示就进行覆盖&nbsp;，&nbsp;则把COPYCMD环境变量设置成／Y(SET&nbsp;COPYCMD=／Y)。这里所设置的COPYCMD环境变量，优先于COPYCMD环境变量的所有缺省值和当前值。&nbsp;</font></p><p><font face="楷体_GB2312">　　6.TEMP变量&nbsp;</font></p><p><font face="楷体_GB2312">　　TEMP是一个常用的环境变量，它告诉程序在何处建立临时文件，而有一些程序需要使用环境变量来识别它们要使用的目录。如下例：&nbsp;</font></p><p><font face="楷体_GB2312">　　SET&nbsp;TEMP=C:\DOS&nbsp;</font></p><p><font face="楷体_GB2312">　　在此例中，环境变量TEMP被DOS环境和一些其它程序使用，以确定当前文件子目录的位置。上面的目录C：\DOS被放入环境中，现在DOS系统知道把它们当前的文件放在哪里。在AUTOEXEC.BAT文件中，用户能够也应该设置环境的整个转换。&nbsp;</font></p><p><font face="楷体_GB2312">　　环境变量与批处理文件的亲密关系&nbsp;</font></p><p><font face="楷体_GB2312">　　使用环境变量可以控制某些批处理文件和使程序可按照用户的意愿进行，可以控制MS－DOS显示与工作的方式。一般在AUTOEXECBAT或CONFIGSYS文件中用SET命令设定用户环境，以便每次启动计算机时系统都能根据用户需要自动设置环境变量。&nbsp;</font></p><p><font face="楷体_GB2312">　　1.在批处理文件中调用环境变量&nbsp;</font></p><p><font face="楷体_GB2312">　　从批处理文件中调用环境变量值时，必须用百分符(％)将变量值括起来。如设置名为WIN32的变量，使它等于字符串C：\Windows\SYSTEM(C盘中的目录)，可键入以下命令：&nbsp;</font></p><p><font face="楷体_GB2312">　　SET&nbsp;WIN32=C:\WINDOWS\SYSTEM&nbsp;</font></p><p><font face="楷体_GB2312">　　在批处理文件中可用％WIN32％代替C：\WINDOWS\SYSTEM。在批处理文件中包括以下命令，显示C：\WINDOWS\SYSTEM环境变量的目录内容：&nbsp;</font></p><p><font face="楷体_GB2312">　　DIR&nbsp;%WIN32%</font></p><p><font face="楷体_GB2312">　　当MS－DOS处理该命令时，会用字符串C：\WINDOWS\SYSTEM代替％WIN32％。&nbsp;</font></p><p><font face="楷体_GB2312">　　2.在批处理文件中保存和恢复原有环境下的路径&nbsp;</font></p><p><font face="楷体_GB2312">　　对每一个批处理文件，用户都可以修改环境变量，而各个批处理文件需要不同的PATH指明路径，以执行批处理下的程序，这就需要用户保存原有环境下的路径。用户可在批处理文件中使用一个环境变量暂时存储用户原来的路径，以便在需要时可以恢复，而不需要重新用PATH命令来设置：&nbsp;</font></p><p><font face="楷体_GB2312">　　SET&nbsp;OLDPATH=%PATH%</font></p><p><font face="楷体_GB2312">　　例如某计算机的设置如下：&nbsp;</font></p><p><font face="楷体_GB2312">　　SET&nbsp;OLDPATH=C:\WINDOWS;C:\;&nbsp;C:\DOS;C:\FOXPRO25;&nbsp;C:\UCDOS;&nbsp;C:\GYPC;&nbsp;C:\CCED;C:\HD;&nbsp;C:\SARP&nbsp;</font></p><p><font face="楷体_GB2312">　　批处理文件解释程序把％PATH％变量扩展成用户的当前路径，故OLDPATH变量等于此路径。如果此时系统因使用其它批处理文件而打乱了原系统路径，可简单地在批处理文件中使用下列语句恢复路径的原貌，以满足用户对不同环境的需要。如下例：&nbsp;</font></p><p><font face="楷体_GB2312">　　PATH&nbsp;%OLDPATH%</font></p><p><font face="楷体_GB2312">　　计算机显示它的执行情况：&nbsp;</font></p><p><font face="楷体_GB2312">　　PATH&nbsp;C:\WINDOWS;C:\;C:\DOS;C:\FOXPRO25;C:\UCDOS;C:\GYPC;C:\CCED;C:\HD;C:\SARP&nbsp;</font></p><p><font face="楷体_GB2312">　　其实，很多用户都可能在各自的AUTOEXEC.BAT文件中存有&ldquo;OLDPATH&rdquo;变量，由于此环境变量总包含原有路径的备份，因此可以很容易地恢复原有路径。&nbsp;</font></p><p><font face="楷体_GB2312">　　小结&nbsp;</font></p><p><font face="楷体_GB2312">　　环境是DOS系统很重要的内容之一，它是DOS系统保存重要信息供批处理文件使用的变量存储区&mdash;&mdash;一个高速暂存存储器。它在此保存重要的信息，且用户能把批处理文件的环境变量放入其中。&nbsp;</font></p><p><font face="楷体_GB2312">　　SET命令对环境而言是相当重要的，它被用来给变量赋值、清除变量，并显示环境内容。&nbsp;</font></p><p><font face="楷体_GB2312">　　除了用户生成环境变量(COMSPEC)给出COMMANDCOM的位置外，PATH设置系统的搜索路径；PROMPT设置系统提示符；COPYCMD环境变量指定COPY、MOVE、XCOPY命令是否对要覆盖的文件进行提示；DIRCMD环境变量可以预置DIR参数和开关项。&nbsp;</font></p><p><font face="楷体_GB2312">　　由于环境表相当小，SHELL命令可用于扩大其容量，这虽然避免了&ldquo;环境空间溢出(Out&nbsp;of&nbsp;environment&nbsp;space)&rdquo;这个错误，但同时也多占了系统的RAM。</font></p>]]></description><category>FreeDOS</category><comments>http://www.7layer.cn/cat_37/1497/20100608724/20100608724.html#comment</comments><wfw:comment>http://www.7layer.cn/</wfw:comment><wfw:commentRss>http://www.7layer.cn/feed.asp?cmt=1497</wfw:commentRss><trackback:ping>http://www.7layer.cn/cmd.asp?act=tb&amp;id=1497&amp;key=dbd6a213</trackback:ping></item><item><title>双机互联的工具LapLink的使用</title><author>55990359@qq.com (administrator)</author><link>http://www.7layer.cn/cat_37/1496/20100608269/20100608269.html</link><pubDate>Tue, 08 Jun 2010 11:03:18 +0800</pubDate><guid>http://www.7layer.cn/cat_37/1496/20100608269/20100608269.html</guid><description><![CDATA[<p>&nbsp;</p><p><font face="楷体_GB2312">&nbsp;&nbsp;&nbsp; 从软件角度看，DOS下实现双机互连的软件有好几种，如XTLink、DriveMap、FastLynx、InterLnk/InterSvr等，其中，LapLink v5.0（简称LL5）是国内非常著名的一种，可在本站的&ldquo;通讯软件&rdquo;中下载。</font></p><p><font face="楷体_GB2312">&nbsp;&nbsp;&nbsp; 下面就给大家简要介绍一下LL5的用法：&nbsp;</font></p><p><font face="楷体_GB2312">&nbsp;&nbsp;&nbsp; 当在一台没有光驱的电脑上安装较大的软件如UCDOS 6.0时，可使用&ldquo;双机对连线&rdquo;将两台电脑的COM口或LPT口连接起来，并运行LapLink v5.0来实现与另一台电脑之间相互访问。首先找一条并口或串口&ldquo;双机对连线&rdquo;，将&ldquo;对连线&rdquo;分别安装在两台电脑的同名端口（注：仅需使用一条连接缆线），下载并安装LapLink v5.0至两台电脑之中。下文以COM口为例简要介绍LL5的用法，（并口只需将IRQ设为Polled，其它设置相同）。用&ldquo;串口对连线&rdquo;连接两台电脑的COMn口，分别启动两台电脑至纯DOS环境，启动两台电脑上的ll5.exe，出现ll5程序窗口，进入Options-&gt;Port/Modem Setup-&gt;将你不使用的端口设为Disabled（两机操作相同），选中您连在本机使用的端口例如COMn-&gt;勾选Enable Port、去掉Use Modem前面的勾-&gt;选中Automatic-&gt;用Reset测试，看Self Test:Passed即可-&gt;OK-&gt;Done。退出一台电脑上的LL5，启动LL5稍等几秒两台电脑会自动找到对方。在LL5程序窗口将看到，左半部为本机文件区，右半部为远程机文件区，选中LL5窗口右侧已连接的&ldquo;HHFF Northeast on COMn(115.200)&rdquo;或&ldquo;HHFF Northeast on LPTn&rdquo;回车，看到远程机的驱动器了吗？选中一个驱动器-&gt;回车，试试文件操作，注意：操作F2=copy时的数据流方向。</font></p><p><font face="楷体_GB2312">&nbsp;&nbsp;&nbsp; 这里提醒大家通过&ldquo;双机对连线&rdquo;用MS-DOS 6.x自带的InterSvr、InterLnk命令连接两台电脑时，InterLnk无法识别大硬盘及FAT32。不过其它的互联软件，如XTLink等则可以识别，而DriveMap甚至还可以识别光驱，这样可以更加方便大家的使用。</font></p>]]></description><category>FreeDOS</category><comments>http://www.7layer.cn/cat_37/1496/20100608269/20100608269.html#comment</comments><wfw:comment>http://www.7layer.cn/</wfw:comment><wfw:commentRss>http://www.7layer.cn/feed.asp?cmt=1496</wfw:commentRss><trackback:ping>http://www.7layer.cn/cmd.asp?act=tb&amp;id=1496&amp;key=07f261f6</trackback:ping></item><item><title>4DOS的用法</title><author>55990359@qq.com (administrator)</author><link>http://www.7layer.cn/cat_37/1495/20100608582/20100608582.html</link><pubDate>Tue, 08 Jun 2010 11:01:19 +0800</pubDate><guid>http://www.7layer.cn/cat_37/1495/20100608582/20100608582.html</guid><description><![CDATA[<p>&nbsp;</p><p><font face="楷体_GB2312">4DOS是一个强大的DOS命令增强工具，可在&ldquo;DOS软件&rdquo;中下载。它提供许多实用的但DOS本身没有的命令，下面就将其使用介绍一下。</font></p><p><font face="楷体_GB2312">可以用4DOS来代替DOS自带的COMMAND.COM，在CONFIG.SYS里面用<br />shell=C:\4DOS\4DOS.COM&nbsp;@C:\4DOS\4DOS.INI&nbsp;/P，<br />在AutoExec.Bat里面加<br />SET&nbsp;COMSPEC=C:\4DOS\4DOS.COM&nbsp;@C:\4DOS\4DOS.INI&nbsp;/P<br />就成了。从某种意义上说，4DOS.COM=COMMAND.COM+DOSKEY.COM+&hellip;&hellip;<br />1.&nbsp;某些按键<br />^PgUp&nbsp;or&nbsp;^PgDn&nbsp;目录历史，显示你到过的目录，任选可进入该目录<br />PgUp&nbsp;or&nbsp;PgDn&nbsp;命令历史，显示你键入过的历史，任选可执行该命令<br />*&nbsp;以上都可以按^Enter将命令行送到DOS提示符下修改<br />^Tab&nbsp;显示当前目录下所有可进入的子目录<br />F1&nbsp;帮助，需在4DOS.INI里指定HELPPATH=&lt;4DOS.HLP所在目录&gt;<br />2.&nbsp;4DOS.INI的某些键值<br />a.&nbsp;Alias=nnnn<br />Dirhistory=nnn<br />Environment=nnnn<br />History=nnnn<br />分别设置为Alias,&nbsp;目录历史,&nbsp;环境变量,&nbsp;命令历史保留的空间。具体可<br />用数值请看4HELP.<br />另，以上键，前面加上UMB，即UMBAlias,&nbsp;UMBHistory等，如设&nbsp;=&nbsp;yes，<br />4DOS起动时会将保留的空间尝试放入UMB.<br />b.&nbsp;swapping&nbsp;=&nbsp;选择SWAP的空间<br />eg.&nbsp;swapping&nbsp;=&nbsp;xms,&nbsp;ems,&nbsp;C:\TEMP<br />c.&nbsp;UMBLoad&nbsp;=<br />如设为YES，4DOS会尝试将自己的常驻部分放入UMB，只留下15xxbytes在常<br />规内存里！<br />d.&nbsp;Histwincolor&nbsp;=&nbsp;设History窗的颜色<br />HistwinHeight&nbsp;=<br />HistwinLeft&nbsp;=<br />HistwinTop&nbsp;=<br />HistwinWidth&nbsp;=<br />分别设Histwin的高度、左边界、上边界、宽度。<br />e.&nbsp;LogName&nbsp;=&nbsp;&lt;可以带路径的文件名&gt;<br />指定记录你在4DOS里做的一切动作的文件名。需在命令状态下输入LOG&nbsp;ON方<br />有效。<br />f.&nbsp;ColorDir=&nbsp;色彩斑斓的目录显示<br />eg.&nbsp;ColorDir&nbsp;=&nbsp;exe,&nbsp;com&nbsp;:&nbsp;cyan;&nbsp;bat&nbsp;:&nbsp;blue&nbsp;;&nbsp;doc&nbsp;:&nbsp;Bri&nbsp;Green等<br />ListColor&nbsp;=<br />SelectColr&nbsp;=<br />设定LIST/SELECT命令的颜色。<br />3.&nbsp;几个看起来怪怪的命令<br />a.&nbsp;Dir/S|List/S<br />将Dir/S的结果送给List，在List里面就象你浏览一个存放Dir/S结果的文件<br />一样<br />b.&nbsp;del&nbsp;filename.ext&nbsp;/S<br />删除当前目录（包含子目录）下所有文件名为&nbsp;filename.ext&nbsp;的文件<br />c.&nbsp;y&gt;filename.ext<br />其实相当与copy&nbsp;con&nbsp;filename.ext<br />d.&nbsp;cd&nbsp;-<br />回到前一个目录<br />e.&nbsp;eset<br />同set，但可以编辑环境变量！<br />先写这么多了，各位还发掘出什么功能？</font></p>]]></description><category>FreeDOS</category><comments>http://www.7layer.cn/cat_37/1495/20100608582/20100608582.html#comment</comments><wfw:comment>http://www.7layer.cn/</wfw:comment><wfw:commentRss>http://www.7layer.cn/feed.asp?cmt=1495</wfw:commentRss><trackback:ping>http://www.7layer.cn/cmd.asp?act=tb&amp;id=1495&amp;key=1f5cc745</trackback:ping></item><item><title>DOS下常用的相关网络命令</title><author>55990359@qq.com (administrator)</author><link>http://www.7layer.cn/cat_37/1494/20100608933/20100608933.html</link><pubDate>Tue, 08 Jun 2010 10:59:57 +0800</pubDate><guid>http://www.7layer.cn/cat_37/1494/20100608933/20100608933.html</guid><description><![CDATA[<p>&nbsp;</p><p><font face="楷体_GB2312">在DOS下的Microsoft Network Client和Windows 9x的DOS窗口等环境中，有许多很有用的但不包含在DOS自带的命令中的网络命令。那么，有哪些这样的命令呢？下面将它们中常用的命令介绍一下。</font></p><p><b><font size="4" face="Georgia">Arp</font></b></p><p><font face="楷体_GB2312">显示和修改&ldquo;地址解析协议&rdquo;(ARP) 所使用的到以太网的 IP 或令牌环物理地址翻译表。该命令只有在安装了 TCP/IP 协议之后才可用。<br />arp -a [inet_addr] [-N [if_addr]]<br />arp -d inet_addr [if_addr]<br />arp -s inet_addr ether_addr [if_addr]<br />参数<br />-a<br />通过询问 TCP/IP 显示当前 ARP 项。如果指定了 inet_addr，则只显示指定计算机的 IP 和物理地址。<br />-g<br />与 -a 相同。<br />inet_addr<br />以加点的十进制标记指定 IP 地址。<br />-N<br />显示由 if_addr 指定的网络界面 ARP 项。<br />if_addr<br />指定需要修改其地址转换表接口的 IP 地址（如果有的话）。如果不存在，将使用第一个可适用的接口。&nbsp;<br />-d<br />删除由 inet_addr 指定的项。<br />-s<br />在 ARP 缓存中添加项，将 IP 地址 inet_addr 和物理地址 ether_addr 关联。物理地址由以连字符分隔的 6 个十六进制字节给定。使用带点的十进制标记指定 IP 地址。项是永久性的，即在超时到期后项自动从缓存删除。<br />ether_addr<br />指定物理地址。<br /><br /></font><b><font size="4" face="Georgia">Finger</font></b></p><p><font face="楷体_GB2312">在运行 Finger 服务的指定系统上显示有关用户的信息。根据远程系统输出不同的变量。该命令只有在安装了 TCP/IP 协议之后才可用。<br />finger [-l] [user]@computer[...]<br />参数<br />-l<br />以长列表格式显示信息。&nbsp;<br />user<br />指定要获得相关信息的用户。省略用户参数以显示指定计算机上所有用户的信息：<br />@computer</font></p><p><b><font size="4" face="Georgia">Ftp</font></b></p><p><font face="楷体_GB2312">将文件传送到正在运行 FTP 服务的远程计算机或从正在运行 FTP 服务的远程计算机传送文件（有时称作 daemon）。Ftp 可以交互使用。单击&ldquo;相关主题&rdquo;列表中的&ldquo;ftp 命令&rdquo;以获得可用的&ldquo;ftp&rdquo;子命令描述。该命令只有在安装了 TCP/IP 协议之后才可用。Ftp 是一种服务，一旦启动，将创建在其中可以使用 ftp 命令的子环境，通过键入 quit 子命令可以从子环境返回到 Windows 2000 命令提示符。<br />　　　　当 ftp 子环境运行时，它由 ftp 命令提示符代表。<br />ftp [-v] [-n] [-i] [-d] [-g] [-s:filename] [-a] [-w:windowsize] [computer]<br />参数<br />-v<br />禁止显示远程服务器响应。<br />-n<br />禁止自动登录到初始连接。<br />-i<br />多个文件传送时关闭交互提示。<br />-d<br />启用调试、显示在客户端和服务器之间传递的所有 ftp 命令。<br />-g<br />禁用文件名组，它允许在本地文件和路径名中使用通配符字符（* 和 ?）。（请参阅联机&ldquo;命令参考&rdquo;中的 glob 命令。）<br />-s: filename<br />指定包含 ftp 命令的文本文件；当 ftp 启动后，这些命令将自动运行。该参数中不允许有空格。使用该开关而不是重定向 (&gt; )。<br />-a<br />在捆绑数据连接时使用任何本地接口。<br />-w:windowsize<br />替代默认大小为 4096 的传送缓冲区。<br />computer<br />指定要连接到远程计算机的计算机名或 IP 地址。如果指定，计算机必须是行的最后一个参数。</font></p><p><font size="4" face="Georgia"><b>Nbtstat</b></font></p><p><font face="楷体_GB2312">该诊断命令使用 NBT（TCP/IP 上的 NetBIOS）显示协议统计和当前 TCP/IP 连接。该命令只有在安装了 TCP/IP 协议之后才可用。<br />nbtstat [-a remotename] [-A IP address] [-c] [-n] [-R] [-r] [-S] [-s] [interval]<br />参数<br />-a remotename<br />使用远程计算机的名称列出其名称表。<br />-A IP address<br />使用远程计算机的 IP 地址并列出名称表。<br />-c<br />给定每个名称的 IP 地址并列出 NetBIOS 名称缓存的内容。<br />-n<br />列出本地 NetBIOS 名称。&ldquo;已注册&rdquo;表明该名称已被广播 (Bnode) 或者 WINS（其他节点类型）注册。<br />-R<br />清除 NetBIOS 名称缓存中的所有名称后，重新装入 Lmhosts 文件。<br />-r<br />列出 Windows 网络名称解析的名称解析统计。在配置使用 WINS 的 Windows 2000 计算机上，此选项返回要通过广播或 WINS 来解析和注册的名称数。<br />-S<br />显示客户端和服务器会话，只通过 IP 地址列出远程计算机。<br />-s<br />显示客户端和服务器会话。尝试将远程计算机 IP 地址转换成使用主机文件的名称。<br />interval<br />重新显示选中的统计，在每个显示之间暂停 interval 秒。按 CTRL+C 停止重新显示统计信息。如果省略该参数，nbtstat 打印一次当前的配置信息。</font></p><p><b><font size="4" face="Georgia">Netstat</font></b></p><p><font face="楷体_GB2312">显示协议统计和当前的 TCP/IP 网络连接。该命令只有在安装了 TCP/IP 协议后才可以使用。<br />netstat [-a] [-e] [-n] [-s] [-p protocol] [-r] [interval]<br />参数<br />-a<br />显示所有连接和侦听端口。服务器连接通常不显示。<br />-e<br />显示以太网统计。该参数可以与 -s 选项结合使用。<br />-n<br />以数字格式显示地址和端口号（而不是尝试查找名称）。<br />-s<br />显示每个协议的统计。默认情况下，显示 TCP、UDP、ICMP 和 IP 的统计。-p 选项可以用来指定默认的子集。&nbsp;<br />-p protocol<br />显示由 protocol 指定的协议的连接；protocol 可以是 tcp 或 udp。如果与 -s 选项一同使用显示每个协议的统计，protocol 可以是 tcp、udp、icmp 或 ip。<br />-r<br />显示路由表的内容。<br />interval<br />重新显示所选的统计，在每次显示之间暂停 interval 秒。按 CTRL+B 停止重新显示统计。如果省略该参数，netstat 将打印一次当前的配置信息。</font></p><p><font size="4" face="Georgia"><b>Ping</b></font></p><p><font face="楷体_GB2312">验证与远程计算机的连接。该命令只有在安装了 TCP/IP 协议后才可以使用。<br />ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]] [-w timeout] destination-list<br />参数<br />-t<br />Ping 指定的计算机直到中断。<br />-a<br />将地址解析为计算机名。<br />-n count<br />发送 count 指定的 ECHO 数据包数。默认值为 4。<br />-l length<br />发送包含由 length 指定的数据量的 ECHO 数据包。默认为 32 字节；最大值是 65,527。<br />-f<br />在数据包中发送&ldquo;不要分段&rdquo;标志。数据包就不会被路由上的网关分段。<br />-i ttl<br />将&ldquo;生存时间&rdquo;字段设置为 ttl 指定的值。<br />-v tos<br />将&ldquo;服务类型&rdquo;字段设置为 tos 指定的值。<br />-r count<br />在&ldquo;记录路由&rdquo;字段中记录传出和返回数据包的路由。count 可以指定最少 1 台，最多 台计算机。<br />指定要 ping 的远程计算机。</font></p><p><font size="4" face="Georgia"><b>Rcp</b></font></p><p><font face="楷体_GB2312">在 Windows 2000 计算机和运行远程外壳端口监控程序 rshd 的系统之间复制文件。rcp 命令是一个连接命令，从 Windows 2000 计算机发出该命令时，也可以用于其他传输在两台运行 rshd 的计算机之间复制文件。rshd 端口监控程序可以在 UNIX 计算机上使用，而在 Windows 2000 上不能使用，所以 Windows 2000 计算机仅可以作为发出命令的系统参与。远程计算机必须也通过运行 rshd 提供 rcp 实用程序。<br />rcp [-a | -b] [-h] [-r] source1 source2 ... sourceN destination<br />参数<br />-a<br />指定 ASCII 传输模式。此模式在传出文件上将回车/换行符转换为回车符，在传入文件中将换行符转换为回车/换行符。该模式为默认的传输模式。<br />-b<br />指定二进制图像传输模式。没有执行回车/换行符转换。<br />-h<br />传输 Windows 2000 计算机上标记为隐藏属性的源文件。如果没有该选项，在 rcp 命令行上指定隐藏文件的效果与文件不存在一样。<br />-r<br />将源的所有子目录内容递归复制到目标。source 和 destination 都必须是目录，虽然即使源不是目录，使用 -r 也能够工作。但将没有递归。<br />source 和 destination<br />格式必须为 [computer[.user]:]filename。如果忽略了 [computer[.user]:] 部分，计算机将假定为本地计算机。如果省略了 [.user] 部分，将使用当前登录的 Windows 2000 用户名。如果使用了完全合格的计算机名，其中包含句点 (.) 分隔符，则必须包含 [.user]。否则，计算机名的最后部分将解释为用户名。如果指定了多个源文件，则 destination 必须是目录。&nbsp;<br />如果文件名不是以 UNIX 的正斜杠 (/) 或 Windows 2000 系统的反斜杠 (\) 打头，则假定相对于当前的工作目录。在 Windows 2000 中，这是发出命令的目录。在远程系统中，这是远程用户的登录目录。句点 (.) 表示当前的目录。在远程路径中使用转义字符（\、&quot; 或 '），以便在远程计算机中使用通配符。</font></p><p><font size="4" face="Georgia"><b>Rexec</b></font></p><p><font face="楷体_GB2312">在运行 REXEC 服务的远程计算机上运行命令。rexec 命令在执行指定命令前，验证远程计算机上的用户名，只有安装了 TCP/IP 协议后才可以使用该命令。<br />rexec computer [-l username] [-n] command<br />参数<br />computer&nbsp;<br />指定要运行 command 的远程计算机。<br />-l username&nbsp;<br />指定远程计算机上的用户名。<br />-r<br />将 rexec 的输入重定向到 NULL。<br />command&nbsp;<br />指定要运行的命令。<br /><br /></font><font size="4" face="Georgia"><b>Route</b></font></p><p><font face="楷体_GB2312">控制网络路由表。该命令只有在安装了 TCP/IP 协议后才可以使用。<br />route [-f] [-p] [command [destination] [mask subnetmask] [gateway] [metric costmetric]]<br />参数<br />-f<br />清除所有网关入口的路由表。如果该参数与某个命令组合使用，路由表将在运行命令前清除。<br />-p<br />该参数与 add 命令一起使用时，将使路由在系统引导程序之间持久存在。默认情况下，系统重新启动时不保留路由。与 print 命令一起使用时，显示已注册的持久路由列表。忽略其他所有总是影响相应持久路由的命令。<br />command<br />指定下列的一个命令。<br />命令 目的&nbsp;<br />print 打印路由&nbsp;<br />add 添加路由&nbsp;<br />delete 删除路由&nbsp;<br />change 更改现存路由&nbsp;<br />destination<br />指定发送 command 的计算机。<br />mask subnetmask<br />指定与该路由条目关联的子网掩码。如果没有指定，将使用 255.255.255.255。<br />gateway&nbsp;<br />指定网关。<br />名为 Networks 的网络数据库文件和名为 Hosts 的计算机名数据库文件中均引用全部 destination 或 gateway 使用的符号名称。如果命令是 print 或 delete，目标和网关还可以使用通配符，也可以省略网关参数。<br />metric costmetric<br />指派整数跃点数（从 1 到 9999）在计算最快速、最可靠和（或）最便宜的路由时使用。<br />Rsh<br />在运行 RSH 服务的远程计算机上运行命令。该命令只有在安装了 TCP/IP 协议后才可以使用。<br />rsh computer [-l username] [-n] command<br />参数<br />computer<br />指定运行 command 的远程计算机。<br />-l username<br />指定远程计算机上使用的用户名。如果省略，则使用登录的用户名。<br />-n<br />将 rsh 的输入重定向到 NULL。<br />command<br />指定要运行的命令。</font></p><p><b><font size="4" face="Georgia">Tftp</font></b></p><p><font face="楷体_GB2312">将文件传输到正在运行 TFTP 服务的远程计算机或从正在运行 TFTP 服务的远程计算机传输文件。该命令只有在安装了 TCP/IP 协议后才可以使用。<br />tftp [-i] computer [get | put] source [destination]<br />参数<br />-i<br />指定二进制图像传送模式（也称为&ldquo;八位字节&rdquo;）。在二进制图像模式中，文件一个字节接一个字节地逐字移动。在传送二进制文件时使用该模式。<br />如果省略了 -i，文件将以 ASCII 模式传送。这是默认的传送模式。此模式将 EOL 字符转换为 UNIX 的回车符和个人计算机的回车符/换行符。在传送文本文件时应使用此模式。如果文件传送成功，将显示数据传输率。&nbsp;<br />computer<br />指定本地或远程计算机。<br />put<br />将本地计算机上的文件 destination 传送到远程计算机上的文件 source。<br />get<br />将远程计算机上的文件 destination 传送到本地计算机上的文件 source。<br />如果将本地计算机上的文件 file-two 传送到远程计算机上的文件 file-one，请指定 put。如果将远程计算机上的文件 file-two 传送到远程计算机上的文件 file-one，请指定 get。<br />因为 tftp 协议不支持用户身份验证，所以用户必须登录，并且文件在远程计算机上必须可以写入。<br />source<br />指定要传送的文件。如果本地文件指定为 -，则远程文件在 stdout 上打印出来（如果获取），或从 stdin（如果放置）读取。<br />destination<br />指定将文件传送到的位置。如果省略了 destination，将假定与 source 同名。</font></p><p><font size="4" face="Georgia"><b>Tracert</b></font></p><p><font face="楷体_GB2312">该诊断实用程序将包含不同生存时间 (TTL) 值的 Internet 控制消息协议 (ICMP) 回显数据包发送到目标，以决定到达目标采用的路由。要在转发数据包上的 TTL 之前至少递减 1，必需路径上的每个路由器，所以 TTL 是有效的跃点计数。数据包上的 TTL 到达 0 时，路由器应该将&ldquo;ICMP 已超时&rdquo;的消息发送回源系统。Tracert 先发送 TTL 为 1 的回显数据包,并在随后的每次发送过程将 TTL 递增 1，直到目标响应或 TTL 达到最大值，从而确定路由。路由通过检查中级路由器发送回的&ldquo;ICMP 已超时&rdquo;的消息来确定路由。不过，有些路由器悄悄地下传包含过期 TTL 值的数据包，而 tracert 看不到。<br />tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name<br />参数<br />/d<br />指定不将地址解析为计算机名。<br />-h maximum_hops<br />指定搜索目标的最大跃点数。<br />-j computer-list<br />指定沿 computer-list 的稀疏源路由。<br />-w timeout<br />每次应答等待 timeout 指定的微秒数。<br />target_name<br />目标计算机的名称。</font></p><p><font face="楷体_GB2312">此外，还有IPCONFIG，DNR等命令，这里就不再一一介绍了。</font></p>]]></description><category>FreeDOS</category><comments>http://www.7layer.cn/cat_37/1494/20100608933/20100608933.html#comment</comments><wfw:comment>http://www.7layer.cn/</wfw:comment><wfw:commentRss>http://www.7layer.cn/feed.asp?cmt=1494</wfw:commentRss><trackback:ping>http://www.7layer.cn/cmd.asp?act=tb&amp;id=1494&amp;key=9644e61b</trackback:ping></item><item><title>细说FAT16与FAT32</title><author>55990359@qq.com (administrator)</author><link>http://www.7layer.cn/cat_37/1493/20100608255/20100608255.html</link><pubDate>Tue, 08 Jun 2010 10:57:59 +0800</pubDate><guid>http://www.7layer.cn/cat_37/1493/20100608255/20100608255.html</guid><description><![CDATA[<p>&nbsp;</p><p><font face="楷体_GB2312">&nbsp;&nbsp;&nbsp; 在说明FAT文件系统之前，我们必须清楚FAT是什么？FAT(File Allocation Table)是&ldquo;文件分配表&rdquo;的意思。顾名思义，就是用来记录文件所在位置的表格，它对于硬盘的使用是非常重要的，假若丢失文件分配表，那么硬盘上的数据就会因无法定位而不能使用了。不同的操作系统所使用的文件系统不尽相同，在个人计算机上常用的操作系统中，MS-DOS 6.x及以下版本使用FAT16；OS/2使用HPFS；Windows NT则使用NTFS；而MS-DOS 7.10及ROM-DOS 7.10同时提供了FAT16及FAT32供用户选用。其中我们接触最多的是FAT16、FAT32文件系统。</font></p><p><font face="楷体_GB2312">一、FAT16文件系统&nbsp;<br />&nbsp;&nbsp;&nbsp; FAT16使用了16位的空间来表示每个扇区(Sector)配置文件的情形，故称之为FAT16。&nbsp;<br />&nbsp;&nbsp;&nbsp; FAT16由于受到先天的限制，因此每超过一定容量的分区之后，它所使用的簇(Cluster)大小就必须扩增，以适应更大的磁盘空间。所谓簇就是磁盘空间的配置单位，就象图书馆内一格一格的书架一样。每个要存到磁盘的文件都必须配置足够数量的簇，才能存放到磁盘中。FAT16各分区与簇大小的关系如下表：&nbsp;<br /><br />分区大小&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FAT16簇大小&nbsp;<br />16MB-127MB&nbsp;&nbsp;&nbsp; 2KB&nbsp;<br />128MB-255MB&nbsp;&nbsp; 4KB&nbsp;<br />256MB-511MB&nbsp;&nbsp; 8KB&nbsp;<br />512MB-1023MB&nbsp; 16KB&nbsp;<br />1024MB-2047MB 32KB&nbsp;<br /><br />&nbsp;&nbsp;&nbsp; 如果你在一个1000MB的分区中存放50KB的文件，由于该分区簇的大小为16KB，因此它要用到4个簇才行。而如果是一个1KB的文件，它也必须使用一个簇来存放。那么每个簇中剩下的空间可否拿来使用呢？答案是不行的，所以在使用磁盘时，无形中都会或多或少损失一些磁盘空间。&nbsp;<br />由上可知，FAT16文件系统有两个最大的缺点：&nbsp;<br />（１）磁盘分区最大只能到2GB。当前只要你添购计算机的话，想必其中的硬盘大小必定至少有2GB，而3.2GB、4.3GB以上的硬盘比比皆是，且物美价廉。FAT16文件系统已不能适应当前这种大容量的硬盘，必须被迫分区成几个磁盘空间。而分区磁盘的大小又牵扯出簇的问题来，可谓影响颇大。&nbsp;<br />（２）使用簇的大小不恰当。试想，如果一个只有1KB大小的文件放置在一个1000MB的磁盘分区中，它所占的空间并不是1KB，而是16KB，足足浪费了15KB！当前流行的HTML文件，其大小几乎多为1KB、2KB，而制作一个网站往往用到数十个HTML文件。如果你的硬盘中有100个这种小文件的话，你浪费的磁盘空间可从700KB(511MB的分区)，到3.1MB(2047MB的分区)。&nbsp;<br />&nbsp;&nbsp;&nbsp; 以上这两个问题常常使得用户在&ldquo;分多大的分区，才能节省空间，同时又可使硬盘的使用更加方便有效&rdquo;的抉择中徘徊不定。</font></p><p><font face="楷体_GB2312">二、FAT32文件系统&nbsp;<br />&nbsp;&nbsp;&nbsp; 为了解决FAT16存在的问题，开发出FAT32系统。FAT32使用了32位的空间来表示每个扇区(Sector)配置文件的情形。利用FAT32所能使用的单个分区，最大可达到2TB(2048GB)，而且各种大小的分区所能用到的簇的大小，也是恰如其分，上述两大优点，造就了硬盘使用上更有效率。现将与分区与簇的大小汇整如下，我们可仔细做个比较：&nbsp;<br /><br />分区大小&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FAT16簇大小 FAT32簇大小<br /><br />16MB-32MB&nbsp;&nbsp;&nbsp;&nbsp; 2KB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不支持<br />32MB-127MB&nbsp;&nbsp;&nbsp; 2KB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 512bytes<br />128MB-255MB&nbsp;&nbsp; 4KB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 512bytes&nbsp;<br />256MB-259MB&nbsp;&nbsp; 8KB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 512bytes&nbsp;<br />260MB-511MB&nbsp;&nbsp; 8KB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4KB&nbsp;<br />512MB-1023MB&nbsp; 16KB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4KB&nbsp;<br />1024MB-2047MB 32KB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4KB&nbsp;<br />2048MB-8GB&nbsp;&nbsp;&nbsp; 不支持&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4KB&nbsp;<br />8GB-16GB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不支持&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8KB&nbsp;<br />16GB-32GB&nbsp;&nbsp;&nbsp;&nbsp; 不支持&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16KB&nbsp;<br />32GB以上&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不支持&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 32KB&nbsp;<br /><br />&nbsp;&nbsp;&nbsp; 以当前硬件所能支持的情况下，如将8GB硬盘划分为单个分区的话，使用的簇的大小也只有4KB，比起以往的FAT16来说，真是节省了许多空间。</font></p><p><font face="楷体_GB2312">三、FAT32使用上的限制&nbsp;<br />&nbsp;&nbsp;&nbsp; 看到这些优点，你一定迫不及待地想将FAT16转换为FAT32。不过在转换之前，要注意下面几点：&nbsp;<br />（１）与其他的PC操作系统不兼容。当前支持FAT32的操作系统仅有MS-DOS 7.10、ROM-DOS 7.10、FreeDOS和Windows 2000以上版本，而其他操作系统则根本不能读取FAT32的分区。例如你以MS-DOS 6.x等旧版本的DOS启动盘开机的话，你硬盘中的FAT32分区就会凭空消失，完全看不到这个分区。另外，如果你要使用多重开机来启动多种不同的操作系统，建议你不要将Ｃ：这个分区改为FAT32。因为有一些操作系统会强迫一定要从Ｃ：这个主要分区来安装、开机，如果你将Ｃ：改为FAT32，而该操作系统不认FAT32，那就不能开机了。&nbsp;<br />（２）有些磁盘工具、防毒软件还不认得FAT32，可能会造成转换后，磁盘工具软件不能对FAT32的分区进行磁盘处理工作，而防毒软件会不认得这种文件系统，误判为中毒现象。&nbsp;<br />（３）一些版本较旧的软件不能在FAT32的分区中执行，例如Office 95等。&nbsp;<br />（４）小于512MB的分区一般不让转换为FAT32。虽说我们从前面的列表中发现小于512MB的分区只使用512Bytes大小的簇，但是在Windows 98中，你只能转换512MB以上的分区。如果想转换32MB到512MB这间的分区，必须使用CVT.EXE中的/MIN命令，如CVT D: /CVT32 /MIN，或FDISK /FPRMT。<br />（５）不能在FAT32分区中做磁盘压缩，即使使用Windows 98中的磁盘压缩也是行不通的。&nbsp;<br />（６）如果你主板的BIOS支持&quot;suspend-to-disk&quot;的功能，那么请将这项功能关闭，因为在FAT32分区中是不能使用的。&nbsp;<br />（７）Windows 98所提供的转换工具只能将FAT16转换为FAT32，并不能再从FAT32转换回FAT16。要转换回来只有：重新进行分区(Partition)、格式化(Format)，然后重新安装系统、应用软件等。&nbsp;<br />&nbsp;&nbsp;&nbsp; 要从FAT32转换回FAT16，还可以借助一项工具：PowerQuest的Partition Magic 3.0或以上版本。这是一套能让你自由改变分区大小、文件系统，而毫不损坏磁盘数据的一套软件。你可以利用这套软件将FAT32转换为FAT16，而不必重新格式化你心爱的硬盘。如果你没有该软件，那么要有&ldquo;准备后悔&rdquo;的念头，请在FAT16转换FAT32前先做好备份。同时我们提醒大家，如果您的计算机配置不是很高（即不是PⅡ或同一级别的CPU），最好不要将分区表转换成FAT32，因为这样会影响硬盘读取速度的。</font></p>]]></description><category>FreeDOS</category><comments>http://www.7layer.cn/cat_37/1493/20100608255/20100608255.html#comment</comments><wfw:comment>http://www.7layer.cn/</wfw:comment><wfw:commentRss>http://www.7layer.cn/feed.asp?cmt=1493</wfw:commentRss><trackback:ping>http://www.7layer.cn/cmd.asp?act=tb&amp;id=1493&amp;key=2c1c305f</trackback:ping></item><item><title>DEBUG命令详解</title><author>55990359@qq.com (administrator)</author><link>http://www.7layer.cn/cat_37/1492/20100608989/20100608989.html</link><pubDate>Tue, 08 Jun 2010 10:57:03 +0800</pubDate><guid>http://www.7layer.cn/cat_37/1492/20100608989/20100608989.html</guid><description><![CDATA[<p>&nbsp;</p><p><font face="楷体_GB2312">&nbsp;&nbsp;&nbsp; DEBUG是DOS中的一个外部命令，从DOS 1.0起就带有此命令，因此可见此命令的重要性了。虽然此命令的功能非常强大，可以解决许多问题，可是对许多人来说，尤其是初学者来说，却非常不易掌握。因此，现将DEBUG的命令详细介绍一番，以让大家知道它的使用。</font></p><p><font size="2">Debug:A（汇编）<br /><br /><br />直接将 8086/8087/8088 记忆码合并到内存。<br /><br />该命令从汇编语言语句创建可执行的机器码。所有数值都是十六进制格式，必须按一到四个字符输入这些数值。在引用的操作代码（操作码）前指定前缀记忆码。<br /><br /><br />a [address]<br /><br /><br />参数<br /><br />address<br /><br />指定键入汇编语言指令的位置。对 address 使用十六进制值，并键入不以&ldquo;h&rdquo;字符结尾的每个值。如果不指定地址，a 将在它上次停止处开始汇编。<br /><br />有关将数据输入到指定字节中的信息，请单击&ldquo;相关主题&rdquo;列表中的 Debug E（键入）。<br /><br />有关反汇编字节的信息，请单击&ldquo;相关主题&rdquo;列表中的 Debug U（反汇编）。<br /><br /><br />说明<br /><br />使用记忆码<br /><br />段的替代记忆码为 cs:、ds:、es: 和 ss:。远程返回的记忆码是 retf。字符串处理的记忆码必须明确声明字符串大小。例如，使用 movsw 可以移动 16 位的字串，使用 movsb 可以移动 8 位字节串。<br /><br /><br />汇编跳转和调用<br /><br />汇编程序根据字节替换自动将短、近和远的跳转及调用汇编到目标地址。通过使用 near 或 far 前缀可以替代这样的跳转或调用，如下例所示：<br /><br />-a0100:0500<br />0100:0500 jmp 502 ; a 2-byte short jump<br />0100:0502 jmp near 505 ; a 3-byte near jump<br />0100:0505 jmp far 50a ; a 5-byte far jump<br /><br />可以将 near 前缀缩写为 ne。<br /><br /><br />区分字和字节内存位置<br /><br />当某个操作数可以引用某个字内存位置或者字节内存位置时，必须用前缀 word ptr 或者前缀 byte ptr 指定数据类型。可接受的缩写分别是 wo 和 by。以下范例显示两种格式：<br /><br />dec wo [si]<br />neg byte ptr [128]<br /><br /><br />指定操作数<br /><br />Debug 使用包括在中括号 ([ ]) 的操作数引用内存地址的习惯用法。这是因为另一方面 Debug 不能区分立即操作数和内存地址的操作数。以下范例显示两种格式：<br /><br />mov ax,21 ; load AX with 21h<br />mov ax,[21] ; load AX with the<br />; contents of<br />; memory location 21h<br /><br /><br />使用伪指令<br /><br />使用 a 命令提供两个常用的伪指令：db 操作码，将字节值直接汇编到内存，dw 操作码，将字值直接汇编到内存。以下是两个伪指令的范例：<br /><br />db 1,2,3,4,&quot;THIS IS AN EXAMPLE&quot;<br />db 'THIS IS A QUOTATION MARK:&quot;'<br />db &quot;THIS IS A QUOTATION MARK:'&quot;<br />dw 1000,2000,3000,&quot;BACH&quot;<br /><br /><br />范例<br /><br />a 命令支持所有形式的间接注册命令，如下例所示：<br /><br />add bx,34[bp+2].[si-1]<br />pop [bp+di]<br />push [si] )<br /><br />还支持所有操作码同义词，如下例所示：<br /><br />loopz 100<br />loope 100<br />ja 200<br />jnbe 200<br /><br />对于 8087 操作码，必须指定 wait 或 fwait 前缀，如下例所示：<br /><br />fwait fadd st,st(3) ; this line assembles<br />; an fwait prefix<br /><br /><br />Debug:C（比较）<br /><br /><br />比较内存的两个部分。<br /><br /><br />c range address<br /><br /><br />参数<br /><br />range<br /><br />指定要比较的内存第一个区域的起始和结束地址，或起始地址和长度。有关有效的 range 值的信息，请单击&ldquo;相关主题&rdquo;列表中的&ldquo;Debug 说明&rdquo;。<br /><br />address<br /><br />指定要比较的第二个内存区域的起始地址。有关有效 address 值的信息，请单击&ldquo;相关主题&rdquo;列表中的&ldquo;Debug 说明&rdquo;。<br /><br /><br />说明<br /><br />如果 range 和 address 内存区域相同，Debug 将不显示任何内容而直接返回到 Debug 提示符。如果有差异，Debug 将按如下格式显示：<br />address1 byte1 byte2 addess2<br /><br />范例<br /><br />以下命令具有相同效果：<br /><br />c100,10f 300<br />c100l10 300<br /><br />每个命令都对 100h 到 10Fh 的内存数据块与 300h 到 30Fh 的内存数据块进行比较。<br /><br />Debug 响应前面的命令并显示如下信息（假定 DS = 197F）：<br /><br />197F:0100 4D E4 197F:0300<br />197F:0101 67 99 197F:0301<br />197F:0102 A3 27 197F:0302<br />197F:0103 35 F3 197F:0303<br />197F:0104 97 BD 197F:0304<br />197F:0105 04 35 197F:0305<br />197F:0107 76 71 197F:0307<br />197F:0108 E6 11 197F:0308<br />197F:0109 19 2C 197F:0309<br />197F:010A 80 0A 197F:030A<br />197F:010B 36 7F 197F:030B<br />197F:010C BE 22 197F:030C<br />197F:010D 83 93 197F:030D<br />197F:010E 49 77 197F:030E<br />197F:010F 4F 8A 197F:030F<br /><br />注意列表中缺少地址 197F:0106 和 197F:0306。这表明那些地址中的值是相同的。<br /><br /><br />Debug:D（转储）<br /><br /><br />显示一定范围内存地址的内容。<br /><br /><br />d [range]<br /><br /><br />参数<br /><br />range<br /><br />指定要显示其内容的内存区域的起始和结束地址，或起始地址和长度。有关有效的 range 值的信息，请单击&ldquo;相关主题&rdquo;列表中的&ldquo;Debug 说明&rdquo;。如果不指定 range，Debug 程序将从以前 d 命令中所指定的地址范围的末尾开始显示 128 个字节的内容。<br /><br />有关显示寄存器内容的信息，请单击&ldquo;相关主题&rdquo;列表中的 Debug R（寄存器）。<br /><br /><br />说明<br />当使用 d 命令时，Debug 以两个部分显示内存内容：十六进制部分（每个字节的值都用十六进制格式表示）和 ASCII 码部分（每个字节的值都用 ASCII 码字符表示)。每个非打印字符在显示的 ASCII 部分由句号 (.) 表示。每个显示行显示 16 字节的内容，第 8 字节和第 9 字节之间有一个连字符。每个显示行从 16 字节的边界上开始。<br /><br />范例<br />假定键入以下命令：<br />dcs:100 10f<br />Debug 按以下格式显示范围中的内容：<br />04BA:0100 54 4F 4D 00 53 41 57 59-45 52 00 00 00 00 00 00 TOM.SAWYER......<br />如果在没有参数的情况下键入 d 命令，Debug 按以前范例中所描述的内容来编排显示格式。显示的每行以比前一行的地址大 16 个字节（如果是显示 40 列的屏幕，则为 8 个字节）的地址开头。<br />对于后面键入的每个不带参数的 d 命令，Debug 将紧接在最后显示的命令后立即显示字节内容。<br />如果键入以下命令，Debug 将从 CS:100 开始显示 20h 个字节的内容：<br />dcs:100 l 20<br />如果键入以下命令，Debug 将显示范围从 CS 段的 100h 到 115h 中所有字节的内容：<br />dcs:100 115<br /><br />Debug:E（键入）<br /><br />将数据输入到内存中指定的地址。<br />可以按十六进制或 ASCII 格式键入数据。以前存储在指定位置的任何数据全部丢失。<br /><br />e address [list]<br /><br />参数<br />address<br />指定输入数据的第一个内存位置。<br />list<br />指定要输入到内存的连续字节中的数据。<br />有关集成记忆码的信息，请单击&ldquo;相关主题&rdquo;列表中的 Debug A（汇编）。<br />有关显示内存部分内容的信息，请单击&ldquo;相关主题&rdquo;列表中的 Debug D （转储）。<br /><br />说明<br /><br />使用 address 参数<br /><br />如果在没有指定可选的 list 参数的值情况下指定 address 的值，Debug 将显示地址和内容，在下一行重复地址，并等待您的输入。此时，您可以执行下列操作之一：<br /><br />替换字节值。为此，请在当前值后键入新值。如果您键入的值不是有效的十六进制值，或该值包含两个以上的数字，则 Debug 不会回显无效或额外的字符。<br />进入下一个字节。为此，请按 SPACEBAR（空格键）。要更改该字节中的值，请在当前值后键入新值。如果按 SPACEBAR（空格键）时，移动超过了 8 位界限，Debug 程序将显示新的一行并在行首显示新地址。<br />返回到前一个字节。为此，请按 HYPHEN 键 (-)。可以反复按 HYPHEN 键 (-) 向后移动超过多个字节。在按 HYPHEN 时，Debug 开始新行并显示当前地址和字节值。<br />停止执行 e 命令。为此，请按 ENTER 键。在任何字节位置都可以按 ENTER。<br />使用 list 参数<br /><br />如果指定 list 参数的值，随后的 e 命令将使用列表中的值替换现有的字节值。如果发生错误，将不更改任何字节值。<br /><br />List 值可以是十六进制字节或字符串。使用空格、逗号或制表符来分隔值。必须将字符串包括在单或双引号中。<br /><br />范例<br /><br />假定键入以下命令：<br /><br />ecs:100<br /><br />Debug 按下面的格式显示第一个字节的内容：<br /><br />04BA:0100 EB.<br /><br />要将该值更改为 41，请在插入点键入 41，如下所示：<br /><br />04BA:0100 EB.41_<br /><br />可以用一个 e 命令键入连续的字节值。在键入新值后按 SPACEBAR（空格键），而不是按 ENTER 键。Debug 显示下一个值。在此范例中，如果按三次 SPACEBAR（空格键），Debug 将显示下面的值：<br /><br />04BA:0100 EB.41 10. 00. BC._<br /><br />要将十六进制值 BC 更改为 42，请在插入点键入 42，如下所示：<br /><br />04BA:0100 EB.41 10. 00. BC.42_<br /><br />假定决定值 10 应该是 6F。要纠正该值，请按 HYPHEN 键两次以返回到地址 0101（值 10）。Debug 显示以下内容：<br /><br />04BA:0100 EB.41 10. 00. BC.42-<br />04BA:0102 00.-<br />04BA:0101 10._<br /><br />在插入点键入 6f 更改值，如下所示：<br /><br />04BA:0101 10.6f_<br /><br />按 ENTER 停止 e 命令并返回到 Debug 提示符下。<br /><br />以下是字符串项的范例：<br /><br />eds:100 &quot;This is the text example&quot;<br /><br />该字符串将从 DS:100 开始填充 24 个字节<br /><br />Debug:F（填充）<br /><br />使用指定的值填充指定内存区域中的地址。<br /><br />可以指定十六进制或 ASCII 格式表示的数据。任何以前存储在指定位置的数据将会丢失。<br /><br /><br />f range list<br /><br /><br />参数<br /><br />range<br /><br />指定要填充内存区域的起始和结束地址，或起始地址和长度。关于有效的 range 值的信息，请单击&ldquo;相关主题&rdquo;列表中的&ldquo;Debug 说明&rdquo;。<br /><br />list<br /><br />指定要输入的数据。List 可以由十六进制数或引号包括起来的字符串组成。<br /><br /><br />说明<br /><br />使用 range 参数<br /><br />如果 range 包含的字节数比 list 中的数值大，Debug 将在 list 中反复指派值，直到 range 中的所有字节全部填充。<br /><br />如果在 range 中的任何内存损坏或不存在，Debug 将显示错误消息并停止 f 命令。<br /><br /><br />使用 list 参数<br /><br />如果 list 包含的数值多于 range 中的字节数，Debug 将忽略 list 中额外的值。<br /><br /><br />范例<br /><br />假定键入以下命令：<br /><br />f04ba:100l100 42 45 52 54 41<br /><br />作为响应，Debug 使用指定的值填充从 04BA:100 到 04BA:1FF 的内存位置。Debug 重复这五个值直到 100h 个字节全部填满为止。<br /><br /><br />Debug:G（转向）<br /><br /><br />运行当前在内存中的程序。<br /><br /><br />g [=address] [breakpoints]<br /><br /><br />参数<br /><br />=address<br /><br />指定当前在内存中要开始执行的程序地址。如果不指定 address，Windows 2000 将从 CS:IP 寄存器中的当前地址开始执行程序。<br /><br />breakpoints<br /><br />指定可以设置为 g 命令的部分的 1 到 10 个临时断点。<br /><br />有关执行循环、重复的字符串指令、软件中断或子程序的信息，请单击&ldquo;相关主题&rdquo;列表中的 Debug P（执行）。<br /><br />有关执行指令的信息，请单击&ldquo;相关主题&rdquo;列表中的 Debug T（跟踪）。<br /><br />Debug:H（十六进制）<br /><br />对指定的两个参数执行十六进制运算。<br /><br /><br />h value1 value2<br /><br /><br />参数<br /><br />value1<br /><br />代表从 0 到 FFFFh 范围内的任何十六进制数字。<br /><br />value2<br /><br />代表从 0 到 FFFFh 范围内第二个十六进制数字。<br /><br /><br />说明<br /><br />Debug 首先将指定的两个参数相加，然后从第一个参数中减去第二个参数。这些计算的结果显示在一行中：先计算和，然后计算差。<br /><br /><br />范例<br /><br />假定键入以下命令：<br /><br />h19f 10a<br /><br />Debug 执行运算并显示以下结果。<br />02A9 0095<br /><br />Debug:I（输入）<br /><br /><br />从指定的端口读取并显示一个字节值。<br /><br />i port<br /><br />参数<br /><br />port<br /><br />按地址指定输入端口。地址可以是 16 位的值。<br /><br />有关将字节值发送到输出端口的信息，请单击&ldquo;相关主题&rdquo;列表中的 Debug O（输出）。<br /><br /><br />范例<br /><br />假定键入以下命令：<br /><br />i2f8<br /><br />同时假定端口的字节值是 42h。Debug 读取该字节，并将其值显示如下：<br />42<br /><br /><br />Debug:L（加载）<br /><br />将某个文件或特定磁盘扇区的内容加载到内存。<br /><br />要从磁盘文件加载 BX:CX 寄存器中指定的字节数内容，请使用以下语法：<br /><br />l [address]<br /><br />要略过 Windows 2000 文件系统并直接加载特定的扇区，请使用以下语法：<br /><br />l address drive start number<br /><br /><br />参数<br /><br />address<br /><br />指定要在其中加载文件或扇区内容的内存位置。如果不指定 address，Debug 将使用 CS 寄存器中的当前地址。<br /><br />drive<br /><br />指定包含读取指定扇区的磁盘的驱动器。该值是数值型：0 = A, 1 = B, 2 = C 等。<br /><br />start<br /><br />指定要加载其内容的第一个扇区的十六进制数。<br /><br />number<br /><br />指定要加载其内容的连续扇区的十六进制数。只有要加载特定扇区的内容而不是加载 debug 命令行或最近的 Debug n（名称）命令中指定的文件时，才能使用 drive、start 和 number 参数。<br /><br />有关指定用于 l 命令的文件的信息，请单击&ldquo;相关主题&rdquo;列表中的 Debug n（名称）。<br /><br />有关写入调试到磁盘的文件的信息，请单击&ldquo;相关主题&rdquo;列表中的 Debug w（写入）。<br /><br /><br />注意<br /><br />使用不带参数的 l 命令<br /><br />当使用不带参数的 l 命令时，在 debug 命令行上指定的文件将加载到内存中，从地址 CS:100 开始。Debug 同时将 BX 和 CX 寄存器设置为加载的字节数。如果不在 debug 命令行指定文件，所装入的文件将是最近使用 n 命令经常指定的文件。<br /><br /><br />使用具有 address 参数的 1 命令<br /><br />如果使用带 address 参数的 l 命令，Debug 将从内存位置 address 开始加载文件或指定扇区的内容。<br /><br /><br />使用带全部参数的 l 命令<br /><br />如果使用带所有参数的 l 命令，Debug 将加载指定磁盘扇区的内容而不是加载文件。<br /><br /><br />加载特定扇区的内容<br /><br />指定范围内的每个扇区均从 drive 读取。Debug 从 start 开始加载，直到在 number 中指定的扇区数中的内容全部被加载。<br /><br /><br />加载 .exe 文件<br /><br />Debug 忽略 .exe 文件的地址 address 参数。如果指定 .exe 文件，Debug 将文件重新定位到 .exe 文件的标题中指定的加载地址。在 .exe 文件被加载到内存前，标题自身从 .exe 文件脱离，因此磁盘上的 .exe 文件大小与内存中的不同。如果要检查整个 .exe 文件，请使用不同的扩展名重命名文件。<br /><br /><br />打开十六进制文件<br /><br />Debug 将具有 .hex 扩展名的文件认为十六进制格式文件。键入不带参数的 l 命令，可以加载从十六进制文件中指定的地址处开始的十六进制文件。如果键入的 l 命令包含 address 参数，Debug 将把指定的地址加到在十六进制文件中找到的地址上，以确定起始地址。<br /><br /><br />范例<br /><br />假定启动 Debug 并键入以下命令：<br /><br />nfile.com<br /><br />现在可以键入 l 命令以加载 File.com。Debug 将加载文件并显示 Debug 提示符。<br /><br />假定需要从驱动器 C 将起始逻辑扇区为 15 (0Fh) 的 109 (6Dh) 个扇区的内容加载到起始地址为 04BA:0100 的内存中。为此，请键入以下命令：<br />l04ba:100 2 0f 6d<br /><br /><br />Debug:M（移动）<br /><br /><br /><br />将一个内存块中的内容复制到另一个内存块中。<br /><br />m range address<br /><br /><br />参数<br /><br />range<br /><br />指定要复制内容的内存区域的起始和结束地址，或起始地址和长度。<br /><br />address<br /><br />指定要将 range 内容复制到该位置的起始地址。<br /><br />说明<br /><br />复制操作对现有数据的影响<br /><br />如果新数据没有写入正在被复制的数据块中的地址，则源数据将保持不变。但是，如果目标块已经包含数据(就象它在覆盖副本操作中一样)，则将改写该数据。（覆盖复制操作是指那些目标数据块部分内容覆盖原数据块部分内容的操作。）<br /><br /><br />执行覆盖复制操作<br /><br />m 命令执行目标地址的覆盖复制操作，而不丢失数据。将改写的地址内容首先复制。因此，如果将较高位地址的数据复制到较低位地址，则复制操作从原块的最低位地址开始并向最高位地址进行。反之，如果要将数据从低地址复制到高地址，复制操作从原块的最高地址开始，向最低地址进行。<br /><br /><br />范例<br /><br />假定键入以下命令：<br /><br />mcs:100 110 cs:500<br />Debug 首先将 CS:110 地址中的内容复制到地址 CS:510 中，然后将 CS:10F 地址中的内容复制到 CS:50F 中，如此操作直至将 CS:100 地址中的内容复制到地址 CS:500 中。要查看结果，请使用 Debug d（转储）命令，并使用 m 命令指定目标地址<br /><br />Debug:N（名称）<br /><br /><br /><br />指定 Debug l（加载）或 w（写入）命令的可执行文件的名称，或者指定正在调试的可执行文件的参数。<br /><br /><br />n [drive:][path] filename<br /><br /><br />要指定测试的可执行文件的参数，请使用以下语法：<br /><br />n file-parameters<br /><br /><br />参数<br /><br />如果在没有参数的情况下使用，则 n 命令清除当前规范。<br />[drive:][path] filename<br /><br />指定要测试的可执行文件的位置和名称。<br /><br />file-parameters<br /><br />为正在测试的可执行文件指定参数和开关。<br /><br />有关将文件或指定磁盘扇区的内容加载到内存中的信息，请单击&ldquo;相关主题&rdquo;列表中的 Debug L（加载）。<br /><br />有关写入调试到磁盘的文件的信息，请单击&ldquo;相关主题&rdquo;列表中的 Debug W（写入）。<br /><br /><br />说明<br /><br />n 命令的两个用途<br /><br />可以按两种方式使用 n 命令。首先，您可以使用它以指定后面的 l（加载）或 w（写入）命令所使用的文件。如果在没有命名所调试文件的情况下启动 Debug，必须在使用 l 命令加载文件之前使用命令 nfilename。在 CS:5C 为文件控制块 (FCB) 正确编排文件名的格式。其次，可以使用 n 命令指定被调试文件的命令行参数和开关。<br /><br /><br />内存区域<br /><br />以下四个内存区域都会受到 n 命令的影响：<br /><br />内存位置<br />内容<br /><br />CS:5C<br />文件 1 的文件控制数据块 (FCB)<br /><br />CS:6C<br />文件 2 的文件控制数据块 (FCB)<br /><br />CS:80<br />n 命令行的长度（以字符表示）<br /><br />CS:81<br />n 命令行字符的开头<br /><br /><br />为 n 命令指定的第一个文件名被放在 CS:5C 的 FCB 中。如果指定第二个文件名，此名称将放置到 CS:6C 的 FCB 中。n 命令行上键入的字符数（除第一个字符之外，n）存储在位置 CS:80。n 命令行上的实际字符（再次，除了字母 n 之外）存储在以 CS:81 开头的位置。注意这些字符可以是在 Windows 2000 命令提示符下键入的命令中有效的任何开关和分隔符。<br /><br /><br />范例<br /><br />假定已经启动 Debug，并加载了正在调试的程序 Prog.com。接着您决定为 Prog.com 指定两个参数并运行此程序。以下是此范例的命令序列：<br /><br />debug prog.com<br />nparam1 param2<br />g<br /><br />在这种情况下，Debug g（转向）命令会运行该程序，就好像您已在 Windows 2000 命令提示符后键入了如下命令：<br /><br />prog param1 param2<br /><br />所以，测试和调试反映 Prog.com 通常的运行时间环境。<br /><br />在下面的命令序列中，第一个 n 命令将 File1.exe 指定为后接的 l（加载）命令的文件，该命令将 File1.exe 加载到内存。第二个 n 命令指定 File1.exe 将使用的参数。最后，g 命令将运行 File1.exe 文件，就好像您在 Windows 2000 命令行中键入了 File1 File2.dat File2.dat 一样。<br /><br />nfile1.exe<br />l<br />nfile2.dat file3.dat<br />g<br /><br />注意<br />不要在 n 命令的第二种形式后使用 l 命令。还要注意，如果现在使用 w（写入）命令，Windows 2000 将使用名称 File2.dat 保存正在调试的文件 File1.exe。为避免出现此结果，应该总是在 l 或 w 命令之前立即使用 n 命令的第一种形式。<br /><br />Debug:O（输出）<br /><br /><br /><br />将字节值发送到输出端口。<br /><br /><br />o port byte-value<br /><br /><br />参数<br /><br />port<br /><br />通过地址指定输出端口。端口地址可以是 16 位值。<br /><br />byte-value<br /><br />指定要指向 port 的字节值。<br /><br />有关从输入端口读取字节值的信息，请单击&ldquo;相关主题&rdquo;列表中的 Debug I（输入）。<br /><br />范例<br /><br />要将字节值 4Fh 发送到地址为 2F8h 的输出端口，请键入以下命令：<br />o2f8 4f<br /><br />Debug:P（执行）<br /><br /><br /><br />执行循环、重复的字符串指令、软件中断或子例程；或通过任何其他指令跟踪。<br /><br /><br />p [= address] [number]<br /><br /><br />参数<br /><br />=address<br /><br />指定第一个要执行指令的位置。如果不指定地址，则默认地址是在 CS:IP 寄存器中指定的当前地址。<br /><br />number<br /><br />指定在将控制返回给 Debug 之前要执行的指令数。默认值为 1。<br /><br />有关运行当前在内存中程序的信息，请单击&ldquo;相关主题&rdquo;列表中的 Debug G（转向）。<br /><br />有关执行指令的信息，请单击&ldquo;相关主题&rdquo;列表中的 Debug T（跟踪）。<br /><br /><br />说明<br />控制传送到要测试的程序<br /><br />当 p 命令将控制从 Debug 传送到要测试的程序时，该程序不间断运行，直到循环、重复字符串指令、软件中断或者完成了指定地址的子例程为止，或者直到执行了指定数量的机器指令为止。控制返回到 Debug。<br /><br />地址参数的限制<br /><br />如果 address 参数没有指定段，Debug 将使用被测试程序的 CS 寄存器。如果省略 address，程序将从 CS:IP 寄存器所指定的地址开始执行。必须在 address 参数之前使用等号 (=) 以便将它与 number 参数区分。如果在指定地址处的指令不是循环、重复的字符串指令、软件中断或子例程，则 p 命令与 Debug t（跟踪）命令的作用相同。<br /><br />使用 p 命令显示的邮件<br /><br />当 p 执行完一段说明后，Debug 显示出程序的寄存器内容、标志的状态以及下一段将要被执行的指令的解码形式。<br /><br /><br />警告<br /><br />不能使用 p 命令跟踪只读内存 (ROM)。<br /><br />范例<br /><br />假定正在测试的程序在地址 CS:143F 处包含一个 call 指令。要运行 call 目标位置的子程序然后将控制返回到 Debug，请键入以下命令：<br /><br />p=143f<br /><br />Debug 按以下格式显示结果：<br />AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000<br />DS=2246 ES=2246 SS=2246 CS=2246 IP=1443 NV UP EI PL NZ AC PO NC<br />2246:1442 7505 JNZ 144A<br /><br />Debug:Q（退出）<br /><br /><br /><br />停止 Debug 会话，不保存当前测试的文件。<br /><br />当您键入 q 以后，控制返回到 Windows 2000 的命令提示符。<br /><br /><br />q<br /><br /><br />参数<br /><br />该命令不带参数。<br />有关保存文件的信息，请单击&ldquo;相关主题&rdquo;列表中的 Debug W（写入）。<br /><br />Debug:R（寄存器）<br /><br /><br />显示或改变一个或多个 CPU 寄存器的内容。<br /><br /><br />r [register-name]<br /><br /><br />参数<br /><br />无<br /><br />如果在没有参数的情况下使用，则 r 命令显示所有寄存器的内容以及寄存器存储区域中的标志。<br /><br />register-name<br /><br />指定要显示其内容的寄存器名。<br /><br />有关显示内存部分内容的信息，请单击&ldquo;相关主题&rdquo;列表中的 Debug D（转储）。<br /><br />有关反汇编字节的信息，请单击&ldquo;相关主题&rdquo;列表中的 Debug U（反汇编）。<br /><br /><br />说明<br /><br />使用 r 命令<br /><br />如果指定了寄存器名称，Windows 2000 将显示以十六进制标记表示的寄存器的 16 位值，并将冒号显示为提示符。如果要更改包含在寄存器中的值，除非键入新值并按 ENTER 键；否则，请按 ENTER 键返回 Debug 提示符。<br /><br />有效寄存器名<br /><br />以下是 register-name 的有效值：ax、bx、cx、dx、sp、bp、si、di、ds、es、ss、cs、ip、pc 及 f。ip 和 pc 都引用指令指针。<br /><br />如果指定寄存器名称，而不是从前面的列表中指定，Windows 2000 将显示以下消息：<br /><br />br error<br /><br />使用 f 字符而不是寄存器名<br /><br />如果键入 f 字符代替寄存器名，Debug 将每个标记的当前设置显示为两字母代码，然后显示 Debug 提示符。要更改标志的设置，请从下表中键入适当的两字母代码：<br /><br />标志名<br />设置<br />清除<br /><br />溢出<br />ov<br />nv<br /><br />方向<br />dn（减）<br />up（增）<br /><br />中断<br />ei（启用）<br />di（禁用）<br /><br />正负<br />ng（负）<br />pl（正）<br /><br />零<br />zr<br />nz<br /><br />辅助进位<br />ac<br />na<br /><br />奇偶校验<br />pe（偶校验）<br />po（奇校验）<br /><br />进位<br />cy<br />nc<br /><br /><br />可以按任何顺序键入新的标志值。不需要在这些值之间留出空格。要停止 r 命令，请按 ENTER 键。任何没有指定新值的标志保持不变。<br /><br />用 r 命令显示的邮件<br /><br />如果为标记指定了多个值，Debug 将显示以下消息：<br /><br />df error<br /><br />如果指定没有在前面的表中列出的标志代码，Debug 将显示以下消息：<br /><br />bf error<br /><br />在这两种情况下，Debug 将忽略所有在无效项目之后指定的设置。<br /><br />Debug 的默认设置<br /><br />在启动 Debug 时，会将段寄存器设置到空闲内存的低端，指令指针设置为 0100h，清除所有标志，并且将其余寄存器设置为零，除了被设置为 FFEEh 的 sp 之外。<br /><br />Debug:R<br /><br /><br />范例<br /><br />要查看所有寄存器的内容、所有标记的状态和当前位置的指令解码表，请键入以下命令：<br /><br />r<br /><br />如果当前位置是 CS:11A，显示外观将类似于以下内容：<br /><br />AX=0E00 BX=00FF CX=0007 DX=01FF SP=039D BP=0000 SI=005C DI=0000<br />DS=04BA ES=04BA SS=04BA CS=O4BA IP=011A NV UP DI NG NZ AC PE NC<br />04BA:011A CD21 INT 21<br /><br />要只查看标志的状态，请键入以下命令：<br /><br />rf<br /><br />Debug 按以下格式显示信息：<br /><br />NV UP DI NG NZ AC PE NC - _<br /><br />现在，您可以按任意顺序键入一个或多个有效的标志值，其中可以有或没有空格，如下所示：<br /><br />nv up di ng nz ac pe nc - pleicy<br /><br />Debug 结束 r 命令并显示 Debug 提示符。要查看更改，请键入 r 或 rf 命令。Debug 将显示以下内容：<br /><br />NV UP EI PL NZ AC PE CY - _<br />按 ENTER 返回到 Debug 提示符。<br /><br />Debug:S（搜索）<br /><br /><br /><br />在某个地址范围搜索一个或多个字节值的模式。<br /><br /><br />s range list<br /><br /><br />参数<br /><br />range<br /><br />指定要搜索范围的开始和结束地址。有关 range 参数有效值的信息，请单击&ldquo;相关主题&rdquo;列表中的 Debug。<br /><br />list<br /><br />指定一个或多个字节值的模式，或要搜索的字符串。用空格或逗号分隔每个字节值和下一个字节值。将字符串值包括在引号中。<br /><br /><br />说明<br /><br />如果 list 参数包含多个字节值，Debug 将只显示出现字节值的第一个地址。如果 list 只包含一个字节值，Debug 将显示指定范围内出现该值的所有地址。<br /><br /><br />范例<br /><br />假定需要查找包含值 41 并且范围从 CS:100 到 CS:110 的所有地址。为此，请键入以下命令：<br /><br />scs:100 110 41<br /><br />Debug 按以下格式显示结果：<br /><br />04BA:0104<br />04BA:010D<br />-<br /><br />以下命令在 CS:100 到 CS:1A0 的范围内搜索字符串&ldquo;Ph&rdquo;。<br />scs:100 1a0 &quot;Ph&quot;<br /><br />Debug:U（反汇编）<br /><br /><br />反汇编字节并显示相应的原语句，其中包括地址和字节值。反汇编代码看起来象已汇编文件的列表。<br /><br /><br />u [range]<br /><br /><br />参数<br /><br />无<br /><br />如果在没有参数的情况下使用，则 u 命令分解 20h 字节（默认值），从前面 u 命令所显示地址后的第一个地址开始。<br /><br />range<br /><br />指定要反汇编代码的起始地址和结束地址，或起始地址和长度。有关 range 参数有效值的信息，请单击&ldquo;相关主题&rdquo;列表中的 Debug。<br /><br />有关集成记忆码的信息，请单击&ldquo;相关主题&rdquo;列表中的 Debug A（汇编）。<br /><br />有关显示内存部分内容的信息，请单击&ldquo;相关主题&rdquo;列表中的 Debug D（转储）。<br /><br />范例<br /><br /><br /><br />要反汇编 16 (10h) 字节，从地址 04BA:0100 开始，请键入以下命令：<br /><br />u04ba:100l10<br /><br />Debug 按以下格式显示结果：<br /><br />04BA:0100 206472 AND [SI+72],AH<br />04BA:0103 69 DB 69<br />04BA:0104 7665 JBE 016B<br />04BA:0106 207370 AND [BP+DI+70],DH<br />04BA:0109 65 DB 65<br />04BA:010A 63 DB 63<br />04BA:010B 69 DB 69<br />04BA:010C 66 DB 66<br />04BA:010D 69 DB 69<br />04BA:010E 63 DB 63<br />04BA:010F 61 DB 61<br /><br />如果只显示从 04BA:0100 到 04BA:0108 特定地址的信息，请键入以下命令：<br /><br />u04ba:0100 0108<br /><br />Debug 显示以下内容：<br /><br />04BA:0100 206472 AND [SI+72],AH<br />04BA:0103 69 DB 69<br />04BA:0104 7665 JBE 016B<br />04BA:0106 207370 AND [BP+DI+70],DH<br /><br />Debug:W（写入）<br /><br /><br /><br />将文件或特定分区写入磁盘。<br /><br />要将在 BX:CX 寄存器中指定字节数的内容写入磁盘文件，请使用以下语法：<br /><br /><br />w [address]<br /><br /><br />要略过 Windows 2000 文件系统并直接写入特定的扇区，请使用以下语法：<br /><br />w address drive start number<br /><br /><br />参数<br /><br />address<br /><br />指定要写到磁盘文件的文件或部分文件的起始内存地址。如果不指定 address，Debug 程序将从 CS:100 开始。关于 address 参数有效值的信息，请在&ldquo;相关主题&rdquo;列表中单击 Debug。<br /><br />drive<br /><br />指定包含目标盘的驱动器。该值是数值型：0 = A, 1 = B, 2 = C,等等。<br /><br />start<br /><br />指定要写入第一个扇区的十六进制数。<br /><br />number<br /><br />指定要写入的扇区数。<br /><br />有关指定用于 w 命令的文件的信息，请单击&ldquo;相关主题&rdquo;列表中的 Debug N（名称）。<br /><br />有关将文件或文件扇区内容加载到内存中的信息，请单击&ldquo;相关主题&rdquo;列表中的 Debug L（加载）。<br /><br />说明<br /><br />必须在启动 Debug 时或者在最近的 Debug n（名称）命令中指定磁盘文件的名字。这两种方法都可以将地址 CS:5C 处文件控制块的文件名正确地编排格式。<br /><br /><br />在使用不带参数的 w 命令之前重新设置 BX:CX<br /><br />如果使用了 Debug g（转向）、t（跟踪）、p（执行）或 r（寄存器）命令，必须在使用无参数的 w 命令之前，将 BX:CX 寄存器复位。<br /><br />将修改后的文件写入磁盘<br /><br />如果修改文件但不更改文件名、长度或起始地址，Debug 仍然可以正确地将文件写入源磁盘位置。<br /><br />w 命令的限制<br /><br />不能用该命令写入 .exe 或 .hex 文件。<br /><br />警告<br /><br />因为略过 Windows 2000 文件句柄，所以写入特定的分区非常危险。如果键入错误的值，则磁盘文件结构很容易被损坏。<br /><br />范例<br /><br />假定要将起始地址为 CS:100 的内存内容写入到驱动器 B 的磁盘中。需要将数据从磁盘的逻辑扇区号 37h 开始并持续 2Bh 个扇区。为此，键入以下命令：<br /><br />wcs:100 1 37 2b<br /><br />当写操作完成时，Debug 再次显示 Debug 提示符。<br /><br />Debug:XA（分配扩展内存）<br /><br />分配扩展内存的指定页面数。<br /><br />要使用扩展内存，必须安装符合 4.0 版的 Lotus/Intel/Microsoft 扩展内存规范 (LIM EMS) 的扩展内存设备驱动程序。<br /><br /><br />xa [count]<br /><br /><br />参数<br /><br />count<br /><br />指定要分配的扩展内存的 16KB 页数。<br /><br />有关使用扩展内存的其他 Debug 命令的信息，请单击&ldquo;相关主题&rdquo;列表中的 XD（释放扩展内存）、XM（映射扩展内存页）或 XS（显示扩展内存状态）。<br /><br />说明<br /><br />如果指定的页面数可用，则 Debug 将显示消息，此消息表明所创建的句柄的十六进制数；否则，Debug 将显示错误消息。<br /><br /><br /><br />Debug:XA<br /><br />范例<br /><br />要分配扩展内存的 8 个页面，请键入以下命令：<br /><br />xa8<br /><br />如果命令成功，Debug 将显示类似的以下消息：<br />Handle created=0003<br /><br />Debug:XD（释放扩展内存）<br /><br /><br />释放指向扩展内存的句柄。<br /><br />要使用扩展内存，必须安装符合 4.0 版的 Lotus/Intel/Microsoft 扩展内存规范 (LIM EMS) 的扩展内存设备驱动程序。<br /><br /><br />xd [handle]<br /><br /><br />参数<br /><br />handle<br /><br />指定要释放的句柄。<br /><br />有关使用扩展内存的其他 Debug 命令的信息，请单击&ldquo;相关主题&rdquo;列表中 XA（分配扩展内存）、XM（映射扩展内存页） 或 XS（显示扩展内存状态）。<br /><br />范例<br /><br />要释放句柄 0003，请键入以下命令：<br /><br />xd 0003<br /><br />如果命令成功，Debug 将显示下列消息：<br />Hdle 0003 deallocated<br /><br />Debug:XM（映射扩展内存页）<br /><br /><br />将属于指定句柄的扩展内存逻辑页映射到扩展内存的物理页。<br /><br />要使用扩展内存，必须安装符合 4.0 版的 Lotus/Intel/Microsoft 扩展内存规范 (LIM EMS) 的扩展内存设备驱动程序。<br /><br /><br />xm [lpage] [ppage] [handle]<br /><br /><br />参数<br /><br />lpage<br /><br />指定要映射到物理页 ppage 的扩展内存的逻辑页面号。<br /><br />ppage<br /><br />指定将 lpage 映射到的物理页面号。<br /><br />handle<br /><br />指定句柄。<br /><br />有关使用扩展内存的其他 Debug 命令的信息，请单击&ldquo;相关主题&rdquo;列表中的 XA（分配扩展内存）、XD（释放扩展内存）或 XS（显示扩展内存）。<br /><br /><br />范例<br /><br />要将句柄 0003 的逻辑页 5 映射到物理页 2，请键入以下命令：<br /><br />xm 5 2 0003<br /><br />如果命令成功，Debug 将显示下列消息：<br /><br />Logical page 05 mapped to physical page 02<br /><br />Debug:XS（显示扩展内存状态）<br /><br /><br />显示有关扩展内存状态的信息。<br /><br />要使用扩展内存，必须安装符合 4.0 版的 Lotus/Intel/Microsoft 扩展内存规范 (LIM EMS) 的扩展内存设备驱动程序。<br /><br /><br />xs<br /><br /><br />参数<br /><br />该命令不带参数。<br /><br />有关使用扩展内存的其他 Debug 命令的信息，请单击&ldquo;相关主题&rdquo;列表中的 XA（分配扩展内存）、XD（释放扩展内存）或 XM（映射扩展内存页）。<br /><br /><br />说明<br /><br />Debug 显示的信息有如下格式：<br /><br />Handle xx has xx pages allocated<br />Physical page xx = Frame segment xx<br />xx of a total xx EMS pages have been allocated<br />xx of a total xx EMS handles have been allocated<br /><br /><br />范例<br /><br />要显示扩展内存信息，请键入以下命令：<br /><br />xs<br /><br />Debug 显示与以下类似的信息：<br /><br />Handle 0000 has 0000 pages allocated<br />Handle 0001 has 0002 pages allocated<br />Physical page 00 = Frame segment C000<br />Physical page 01 = Frame segment C400<br />Physical page 02 = Frame segment C800<br />Physical page 03 = Frame segment CC00<br />2 of a total 80 EMS pages have been allocated<br />2 of a total FF EMS handles have been allocated</font></p>]]></description><category>FreeDOS</category><comments>http://www.7layer.cn/cat_37/1492/20100608989/20100608989.html#comment</comments><wfw:comment>http://www.7layer.cn/</wfw:comment><wfw:commentRss>http://www.7layer.cn/feed.asp?cmt=1492</wfw:commentRss><trackback:ping>http://www.7layer.cn/cmd.asp?act=tb&amp;id=1492&amp;key=731a9dd2</trackback:ping></item><item><title>在DOS下备份硬盘引导记录</title><author>55990359@qq.com (administrator)</author><link>http://www.7layer.cn/cat_37/1491/20100608745/20100608745.html</link><pubDate>Tue, 08 Jun 2010 10:55:40 +0800</pubDate><guid>http://www.7layer.cn/cat_37/1491/20100608745/20100608745.html</guid><description><![CDATA[<p>&nbsp;</p><p><font size="2" face="宋体">&nbsp;</font><font face="楷体_GB2312">&nbsp;&nbsp; 为防止病毒对硬盘的侵袭或其它误操作，备份硬盘引导记录是一有效方法。若手头没有现成的工具软件（如SRCTools，一个很好用的工具，可在本站的&ldquo;磁盘工具&rdquo;中下载，其具体使用方法请见本站&ldquo;DOS文章&rdquo;栏目中介绍它的文章），可用DEBUG实现。现介绍备份及写硬盘主引导记录的方法。</font></p><p><font size="2" face="宋体">&nbsp;&nbsp;&nbsp; 备份主引导记录的方法是：</font></p><p><font size="2" face="Courier New">DEBUG</font><font size="2">（回车）<br /></font><font size="2" face="Courier New">-A 100</font><font size="2"><br /></font><font size="2" face="Courier New">XXXX:0100 MOV AX,201</font><font size="2"><br /></font><font size="2" face="Courier New">XXXX:0103 MOV BX,200</font><font size="2"><br /></font><font size="2" face="Courier New">XXXX:0106 MOV CX,1</font><font size="2"><br /></font><font size="2" face="Courier New">XXXX:0109 MOV DX,80</font><font size="2"><br /></font><font size="2" face="Courier New">XXXX:010C INT 13</font><font size="2"><br /></font><font size="2" face="Courier New">XXXX:010E INT 3</font><font size="2"><br /></font><font size="2" face="Courier New">XXXX:010F</font><font size="2"><br /></font><font size="2" face="Courier New">-G=100</font><font size="2"><br /></font><font size="2" face="Courier New">-R CX</font><font size="2"><br /></font><font size="2" face="Courier New">CX 0001:200</font><font size="2"><br /></font><font size="2" face="Courier New">-N BOOT.ZYD</font><font size="2"><br /></font><font size="2" face="Courier New">-W 200</font><font size="2"><br /></font><font size="2" face="Courier New">-Q</font></p><p><font size="2" face="宋体">备份DOS分区引导记录的方法是：</font></p><p><font size="2" face="Courier New">DEBUG</font><font size="2">（回车）<br /></font><font size="2" face="Courier New">-L 100 201</font><font size="2"><br /></font><font size="2" face="Courier New">-N BOOT.DOS</font><font size="2"><br /></font><font size="2" face="Courier New">-R CX</font><font size="2"><br /></font><font size="2" face="Courier New">CX 0001:200</font><font size="2"><br /></font><font size="2" face="Courier New">-W 100</font><font size="2"><br /></font><font size="2" face="Courier New">-Q</font></p><p><font size="2" face="宋体">写硬盘主引导记录的方法是：</font></p><p><font size="2" face="Courier New">DEBUG</font><font size="2">（回车）<br /></font><font size="2" face="Courier New">-N BOOT.ZYD</font><font size="2"><br /></font><font size="2" face="Courier New">-L 200</font><font size="2"><br /></font><font size="2" face="Courier New">-A 100</font><font size="2"><br /></font><font size="2" face="Courier New">XXXX:0100 MOV AX,301</font><font size="2"><br /></font><font size="2" face="Courier New">XXXX:0103 MOV BX,200</font><font size="2"><br /></font><font size="2" face="Courier New">XXXX:0106 MOV CX,1</font><font size="2"><br /></font><font size="2" face="Courier New">XXXX:0109 MOV DX,80</font><font size="2"><br /></font><font size="2" face="Courier New">XXXX:010C INT 13</font><font size="2"><br /></font><font size="2" face="Courier New">XXXX:010E INT 3</font><font size="2"><br /></font><font size="2" face="Courier New">XXXX:010F</font><font size="2"><br /></font><font size="2" face="Courier New">-G=100</font><font size="2"><br /></font><font size="2" face="Courier New">-Q</font></p><p><font size="2" face="宋体">写DOS分区引导记录的方法是：</font></p><p><font size="2" face="Courier New">DEBUG</font><font size="2">（回车）</font></p><p><font size="2" face="Courier New">-N BOOT.DOS</font><font size="2"><br /></font><font size="2" face="Courier New">-L 100</font><font size="2"><br /></font><font size="2" face="Courier New">-W 100 201</font><font size="2"><br /></font><font size="2" face="Courier New">-Q</font></p><p><font face="楷体_GB2312">&nbsp;&nbsp;&nbsp; 此方法既能修复硬盘又不丢失文件，可见备份硬盘主引导记录与DOS分区引导记录是非常方便和必要的</font></p>]]></description><category>FreeDOS</category><comments>http://www.7layer.cn/cat_37/1491/20100608745/20100608745.html#comment</comments><wfw:comment>http://www.7layer.cn/</wfw:comment><wfw:commentRss>http://www.7layer.cn/feed.asp?cmt=1491</wfw:commentRss><trackback:ping>http://www.7layer.cn/cmd.asp?act=tb&amp;id=1491&amp;key=e1e77987</trackback:ping></item><item><title>在DOS下破解CMOS密码全攻略</title><author>55990359@qq.com (administrator)</author><link>http://www.7layer.cn/cat_37/1490/20100608228/20100608228.html</link><pubDate>Tue, 08 Jun 2010 10:49:39 +0800</pubDate><guid>http://www.7layer.cn/cat_37/1490/20100608228/20100608228.html</guid><description><![CDATA[<p>&nbsp;</p><p><font face="楷体_GB2312">&nbsp;&nbsp;&nbsp; &ldquo;CMOS密码&rdquo;就是通常所说的&ldquo;开机密码&rdquo;，主要是为了防止别人使用自已的计算机，设置的一个屏障。<br /><br />&ldquo;CMOS密码&rdquo;破解方法很多，主要有以下几种：<br /><br />一、更改硬件配置<br />　　当丢失CMOS密码时，你可以先试着改动机器的硬件后再重新启动，因为启动时如果系统发现新的硬件配置与原来的硬件配置不相同，可能会充许你直接进入CMOS重新设置而不需要密码。改动硬件配置的方法很简单：比如拔去一根内存条或安装一块不同型号的CPU（当然要主板支持）、更换一块硬盘等。<br /><br />二、建立自已的密码破解文件<br />　　A. 当系统自检完毕，准备引导Windows时按下F8键，选择&ldquo;Safe mode command prompt only&rdquo;（安全命令模式）后在DOS提示符下输入COPY CON YK.COM，回车后在编辑环境里输入：<br />ALT+179、ALT+55、ALT++136、ALT+216、ALT+230、ALT+112、ALT+176、ALT+32、ALT+230、ALT+113、ALT+254、ALT+195、ALT+128、ALT+251、ALT+64、ALT+117、ALT+241、ALT+195后按F6保存。注意，输入以上数据时是先按下ALT键，接着按下数字键盘里（按键盘上面那一排数字键是没有作用的）的数字键，输完一段数字后再松开ALT键，然后再按下ALT键输入下一段数字&hellip;&hellip; 输入过程中，每松开一次ALT键屏幕上都会出现一个乱字符，我们不必管它。<br />　　保存退出后，我们直接运行YK.COM这个文件，屏幕上应该没有任何提示信息，然后重新启动计算机即可清除CMOS里的密码，当然，CMOS里的其它设置也会同时被清除，这就需要我们重新设置了。<br />　　B.启动时选择安全命令模式后，输下COPY CON YK.COM，然后在编辑环境里输入：<br />　　ALT+176、ALT+17、ALT+230、p、ALT+176、ALT+20、ALT+230、q、ALT+205、空格 后按F6保存后运行这个文件，重新启动计算机即可。<br /><br />三、DEBUG法<br />在DOS提示符下，运行DEBUG后输入：<br />&mdash;o70 18<br />&mdash;o71 18<br />&mdash;q<br />或<br />&mdash;o70 21<br />&mdash;o71 21<br />&mdash;q<br />　　退出到DOS提示符后重新启动计算机便将CMOS密码完全清除了。请注意，70和71是CMOS的两个端口，我们可以向它们随意写入一些错误数据（如20、16、17等），就会破坏CMOS里的所有设置，有时间的朋友不妨多用几个数据试试。<br /><br />四、万能密码<br />　　如果有人将COMS里的安全选项设为系统，那么当你每次开机时都必须输入正确密码，否则别说进入Windows，就连DOS也进入不了，这样我们就只能靠万能密码来解决问题了。<br />　　AMI 的BIOS： AMI ；Sysg<br />　　AWARD的BIOS： award ； Syxz； h996； wantgirl；eBBB ； dirrid 。<br />　　以上万能密码在386、486、奔腾主板上破解CMOS口令几乎百发百中，而对PII级或以上的主板就不那么灵光了，能破解PII以上的新主板的万能密码很少，几乎还没有听说过，不过小弟找到一个口令&mdash;&mdash;abaubjao，已成功破解了承启6ATA4（PIII）、伟格MVP4（K6&mdash;2）、奔驰160A、160A+（PIII）等十余块主板上的CMOS口令，不敢独享，在此献给大家。<br /><br />五、使用工具软件<br />　　在网上你会发现能破解CMOS密码的软件比比皆是，俺认为最好用的软件要数Biospwds，它是一个德国人做的小软件，使用时只需轻轻一点&ldquo;Get passwords&rdquo;（获得密码）按钮，你的CMOS密码便尽显于屏幕之上了，此外你还可以看到BIOS版本、时间等信息。有条件者可在http://www.geocities.com/mbockelkamp处下载（或在本站的&ldquo;系统工具&rdquo;中下载）。<br /><br />六、放电<br />　　如果你运气太差，用以上方法都破解不了CMOS口令，那就只有这一条路可走了。翻开主板说明书，找到清除CMOS设置的那个跳线，按说明书所述改变其短接的方法，清空CMOS。什么，你的主板太老，没有此跳线？ 那就将主板上那块钮扣电池取下来吧。 放电后怎么开不了机？ 将电池安回去嘛，笨！</font></p>]]></description><category>FreeDOS</category><comments>http://www.7layer.cn/cat_37/1490/20100608228/20100608228.html#comment</comments><wfw:comment>http://www.7layer.cn/</wfw:comment><wfw:commentRss>http://www.7layer.cn/feed.asp?cmt=1490</wfw:commentRss><trackback:ping>http://www.7layer.cn/cmd.asp?act=tb&amp;id=1490&amp;key=7c22ed5a</trackback:ping></item><item><title>DOS可以当积木来砌</title><author>55990359@qq.com (administrator)</author><link>http://www.7layer.cn/cat_37/1489/20100608497/20100608497.html</link><pubDate>Tue, 08 Jun 2010 10:47:58 +0800</pubDate><guid>http://www.7layer.cn/cat_37/1489/20100608497/20100608497.html</guid><description><![CDATA[<p>&nbsp;</p><p><font face="楷体_GB2312">&nbsp;&nbsp;&nbsp; DOS是自由的，开放的，所以能有不止一种DOS，除MS-DOS和PC-DOS外，还有DR-DOS，ROM-DOS，PTS-DOS等。而DOS又是可以剪栽的，除了三个核心文件和少数与核心文件关系密切的DOS命令如SYS等外，不少DOS的外部命令都可以通用，一般只要两种DOS支持同样的磁盘的格式，就有可能互换大部分外部命令来使用。这样，你只需有一种DOS，就可以享受几种DOS的优越性了。</font></p><p><font face="楷体_GB2312">　　不过一般来说MS-DOS的外部命令做得都不如其他的DOS，例如FreeDOS 7的ATTRIB和DELTREE，TREE等外部命令的体积只有MS-DOS 7.10的一半甚至更小，速度快效率高。另一方面MS-DOS的外部命令对DOS版本号要求严得过分，连在自家不同版本的DOS上都往往不能用，更难以在其他的DOS中使用。当然MS-DOS 7.x以上的EDIT是个例外，个子不大，英文界面而内核全中文化，没有半个汉字问题且不要求具体DOS版本，适应性非常好（注：为了方便大家的使用，我对MS-DOS 7.x中的EDIT进行了汉化，可在本站的&ldquo;文本工具&rdquo;中下载）。</font></p><p><font face="楷体_GB2312">　　如果你用MS-DOS 6.x，可以考虑使用DR-DOS，部分PC-DOS，RTS-DOS，FreeDOS的外部命令，如DRDOS的XDEL，XCOPY等都可用，效果也好。以前我遇到一些旧DOS软件是用MS-DOS 3的BACKUP备份的，而DOS5以上却没有了RESTORE，拿来DR-DOS的RESTORE一用就得，而拿MS-DOS 3的RESTORE却因版本号不同而不可用。又如MS-DOS的DOSKEY一直要占7K内存，而我用过的一个不知那里来的DOSKEY只占1K内存。还有MS-DOS 5/6自身的鼠标驱动程序（要从安装盘上找）要占17K内存（初始化时要51K），而FreeDOS的CTMOUSE只占3K内存，UCDOS中的MOUSE也只要6K内存，体积亦都比MS的MOUSE少得多。这方面可以用PCTOOLS9中的MI（Memory Info）来查看各种驱动程序的内存占用情况。</font></p><p><font face="楷体_GB2312">　　如果你用MS-DOS 7.x或以上，如果要支持FAT32和大硬盘的话，选择余地就少多了，一般只有选同样支持FAT32的ROM-DOS 7.x和FreeDOS 7.x的同类命令，除非这些命令不涉及磁盘结构如MOUSE驱动。这里要推荐FreeDOS 7了，因为它不仅完全免费，而且国外有许多DOS爱好者正在对它进行各种开发，新软件源源不断，许多功能已经明显超越MS-DOS，例如MS-DOS 7.10的FDISK只能分区又费时间；FreeDOS的FDISK支持128G的硬盘分区，分区快速同时可进行格式化，体积还只有MS的FDISK的2/3。而且FreeDOS的外部命令几乎全部都有源代码，你想想这该是那等的好事？</font></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font size="2">作者：&ldquo;起步&rdquo;莫老师（MYS）</font></p>]]></description><category>FreeDOS</category><comments>http://www.7layer.cn/cat_37/1489/20100608497/20100608497.html#comment</comments><wfw:comment>http://www.7layer.cn/</wfw:comment><wfw:commentRss>http://www.7layer.cn/feed.asp?cmt=1489</wfw:commentRss><trackback:ping>http://www.7layer.cn/cmd.asp?act=tb&amp;id=1489&amp;key=47c926df</trackback:ping></item><item><title>浅谈DOS软件的汉化</title><author>55990359@qq.com (administrator)</author><link>http://www.7layer.cn/cat_37/1488/20100608891/20100608891.html</link><pubDate>Tue, 08 Jun 2010 10:46:29 +0800</pubDate><guid>http://www.7layer.cn/cat_37/1488/20100608891/20100608891.html</guid><description><![CDATA[<p>&nbsp;</p><p><span style="line-height: 150%" id="yu"><font face="楷体_GB2312">&nbsp;&nbsp;&nbsp; 近年来新推出的各类DOS软件很多，但由于绝大多数DOS新软件都是英文的，不符合绝大多数国人的习惯，我觉得要做到推广新DOS软件，少不了经过汉化这一环。<br />&nbsp;&nbsp;&nbsp; DOS下的软件汉化与WINDOWS9X的不同，WIN9X的软件其文字信息多数使用资源（我实际上不懂EXE文件格式，所以不作准确描述）存放，可以用专门修改文件资源的软件如EXESCOPE等找出来汉化。DOS中的文字信息分散在EXE文件各处，要修改起来相对困难得多，当然FOXPRO例外，在RICHWIN某些版本中有一个汉化了的FOXPRO菜单，可以用它轻易将FOXPRO的菜单汉化。<br />&nbsp;&nbsp;&nbsp; 要汉化DOS软件，最简单的方法当然是在UCDOS/CCDOS等汉字系统下，用PCTOOLS等的十六进制编辑功能将英文信息逐个修改，然而工作量也最大，效率则最低。<br />&nbsp;&nbsp;&nbsp; 当然DOS下也有东方快车等自动汉化软件，不过它汉化出来的意思往往难以做到准确，有时用这些软件汉化出来的还不如使用原来的英文软件方便，在这方面我也没有多作尝试。<br />&nbsp;&nbsp;&nbsp; 还有一种方法是使用文字信息提取软件，将一定长度的文本信息和位置信息从EXE文件中提取出来，成为一个TXT文件，对这个TXT文件进行修改后，再按照位置写回去，这里要注意的是修改后的汉字字符串长度不得长于原来英文字符串的长度。<br />&nbsp;&nbsp;&nbsp; 我这里主要介绍第三种方法，也推荐想进行汉化的朋友使用，这也可当成一种学习英文单词的途径。我使用的文字提取软件是龚成兵的Editor 2.0（注：可在本站的&ldquo;中文工具&rdquo;中下载），用法很简单，如edit2 /s:4 ndd.exe ndd.txt就可将NDD.EXE中不短于4个字节的文字全部提取出来，存成NDD.TXT文件，用我们熟悉的编辑器进行编辑。文件里面是类似下面的字符串：<br />*0000790A 0009┃Unable to┃<br />&hellip;&hellip;<br />前面是提取的文字在EXE文件中的位置和长度，不要修改。*号表示略过，不将修改后的文字写回NDD.EXE，所以如果要将修改后的文字写入就必须去掉*号。<br />后面夹在在表格符间的英文就提取出来的字符串，最好在CCED（或CCDOS97的ED，或CXDOS中自带的CXED）中并在表格锁定状态下进行修改，这样就不用担心修改后汉字的长度会长过原来的英文了。汉化时不妨加载希望辞海或译林英汉词典等，随时查阅不认识的单词。<br />&nbsp;&nbsp;&nbsp; 修改NDD.TXT之后，可以用edit2 /r ndd.exe ndd.txt将汉化后的信息写回去，然后在汉字系统中运行NDD测试效果，如果要作修改只需再修改NDD.TXT就可以了。<br />&nbsp;&nbsp;&nbsp; 再补充几点细节问题：</font></span></p><p><span style="line-height: 150%" id="yu"><font face="楷体_GB2312">&nbsp;&nbsp;&nbsp; </font></span><font face="仿宋_GB2312"><span style="line-height: 150%" id="yu">1、提取出来的文本经常有%a,%d,%C之类的文字，这是程序要显示的变量，不要将它们修改。&nbsp;</span><span style="line-height: 150%" id="yu1"><br />&nbsp;&nbsp;&nbsp; </span><span style="line-height: 150%" id="yu">2、DOS早期的汉化比较困难，主要是因为早期的汉字系统不支持直接写屏，需要汉化者精通汇编语言并修改显示方式。现在的汉字系统可以支持绝大部分的英文软件，只需直接翻译即可，所以任何人都可以进行汉化工作。&nbsp;</span><span style="line-height: 150%" id="yu2"><br />&nbsp;&nbsp;&nbsp; </span><span style="line-height: 150%" id="yu">3、汉化前最好先运行该软件一次，确信其可以在汉字系统中正常运行。这主要是少数英文图形软件和HD-COPY等与部分汉字系统争夺时钟中断的软件会引起麻烦。</span></font></p><p><span style="line-height: 150%" id="yu0"><font face="楷体_GB2312">&nbsp;&nbsp;&nbsp; 有部分DOS软件使用了PKLITE等软件压缩，这时需要用UNP等先将它们解压缩，然后才进行文字提取工作。<br />&nbsp;&nbsp;&nbsp; 希望有更多的朋友加入汉化行列（我正在抽空汉化NORTON 2002中的NDD FOR DOS），使有更多的优秀DOS软件给国人使用。</font></span></p><p>&nbsp;</p>]]></description><category>FreeDOS</category><comments>http://www.7layer.cn/cat_37/1488/20100608891/20100608891.html#comment</comments><wfw:comment>http://www.7layer.cn/</wfw:comment><wfw:commentRss>http://www.7layer.cn/feed.asp?cmt=1488</wfw:commentRss><trackback:ping>http://www.7layer.cn/cmd.asp?act=tb&amp;id=1488&amp;key=db08c863</trackback:ping></item><item><title>我的系统恢复盘</title><author>55990359@qq.com (administrator)</author><link>http://www.7layer.cn/cat_37/1486/20100531532/20100531532.html</link><pubDate>Mon, 31 May 2010 09:57:56 +0800</pubDate><guid>http://www.7layer.cn/cat_37/1486/20100531532/20100531532.html</guid><description><![CDATA[<p>&nbsp;</p><p><font face="楷体_GB2312">&nbsp;&nbsp;&nbsp;&nbsp;很久以前用过联想电脑的系统恢复软盘，一旦系统出现严重问题或崩溃，插入该盘，启动后选择&ldquo;系统恢复&rdquo;项，一会儿就能恢复到出厂时的状态，羡慕得不得了。后来自己动手制作了一个系统恢复盘，也十分方便实用，把它写在这里，与大家共飨。<br />&nbsp;&nbsp;&nbsp;&nbsp;与多数电脑高手们习惯用GHOST不同，我用的是PowerQuest的Drive Image（可在本站的&ldquo;磁盘工具&rdquo;中下载）。相比GHOST,PQDI能在获得更高压缩率的前提下更快地完成任务。而且，PQDI本身还是一个磁盘分区工具，具有强大的分区管理功能（可替代PartitionMagic),包括我们这里用到的分区隐藏功能&mdash;&mdash;通过隐藏镜像文件所在的分区可最大限度地避免备份文件受损。还有，据说用PQDI比用GHOST恢复的系统更稳定。我也没有用多重启动模式将镜像文件放在活动分区，我感觉放到逻辑分区更保险，因为万一发生磁盘灾难事故，最可能幸存的将是逻辑分区的数据。（我用一个硬盘，分C、D、E三个区。）该系统恢复软盘的制作过程如下。<br />&nbsp;&nbsp;&nbsp;&nbsp;首先在DOS下用Format A:/s命令制作一张最小的系统引导软盘，从PQ Drive Image的安装（Windows下）目录将pqdi.exe、pqdi.ovl、pqdi.rtc三个文件拷贝到该盘，再用文本编辑器在该盘上编写如下5个文件，最后将config.sys和autoexec.bat引用的所有文件拷入该盘（其中鼠标驱动程序可有可无，但文件名绝不能是mouse.com)。<br />&nbsp;&nbsp;&nbsp;&nbsp;config.sys:（每段之间空一行）<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[MENU]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;menuitem=Unhide,Unhide partition 3<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;menuitem=Backup,Backup part1 to part3<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;menuitem=Restore,Restore partition 1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;menuitem=Pqdi,Run Drive Image Pro<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;menudefault=Unhide,5<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;menucolor=15,0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Unhide]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Backup]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Restore]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Pqdi]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[COMMON]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;device=himem.sys /testmem:off<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dos=high,umb<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;files=40<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buffers=22,0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lastdrive=F<br />&nbsp;&nbsp;&nbsp;&nbsp;autoexec.bat:（每段之间空一行）<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@echo off<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;goto %config%<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:Unhide<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pqdi /cmd=unhide.txt /err=error.txt<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:Backup<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lh smartdrv 8192<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deltree/y C:\Recycled<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deltree/y C:\Windows\Temp<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deltree/y C:\Windows\Tempor~1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;del C:\Windows\win386.swp<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pqdi /cmd=backup.txt /ERR=ERROR.TXT /img=E:\part1.pqi<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:Restore<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lh smartdrv 8192<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />pqdi /cmd=restore.txt /err=error.txt /img=E:\part1.pqi<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:Pqdi<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lh msmouse<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pqdi<br />&nbsp;&nbsp;&nbsp;&nbsp;backup.txt：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select drive 1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select partition first<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;store with compression low<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select partition 3<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hide<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reboot<br />&nbsp;&nbsp;&nbsp;&nbsp;restore.txt：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select drive 1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select partition first<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select image 1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;restore<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select partition 3<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hide<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reboot<br />&nbsp;&nbsp;&nbsp;&nbsp;unhide.txt：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select drive 1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select partition 3<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unhide<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reboot<br />&nbsp;&nbsp;&nbsp;&nbsp;这样，一张完整的系统恢复软盘就做好了。每次用它启动电脑，都会出现多项选择菜单：1、使隐藏分区可见；2、备份；3、复原；4、进入PQDI图形操作界面。默认选项是1，等待时间为5秒（可改config.sys的第5行另设置）。备份和恢复操作须先选择1并按回车键（或干脆静等5秒钟），机器会重启动，再次出现菜单时选2或3回车，出现蓝色进度条时取出软盘（切记！），操作会自动完成，并隐藏存放镜像文件的分区，最后自动重启。</font></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font size="2">本站网友：胡法春作</font></p>]]></description><category>FreeDOS</category><comments>http://www.7layer.cn/cat_37/1486/20100531532/20100531532.html#comment</comments><wfw:comment>http://www.7layer.cn/</wfw:comment><wfw:commentRss>http://www.7layer.cn/feed.asp?cmt=1486</wfw:commentRss><trackback:ping>http://www.7layer.cn/cmd.asp?act=tb&amp;id=1486&amp;key=bbeb543b</trackback:ping></item></channel></rss>
