admin管理员组

文章数量:1567918

1.DOS特点

在DOS环境下,开机后,我们面对的不是桌面和图标,而是这样的电脑屏幕:这个C:\>叫做提示符,这个闪动的横线叫做光标。这样就表示电脑已经准备好,在等待我们给它下命令了。我们现在所需要做的,就是对电脑发出命令,给电脑什么命令,电脑就会做什么。那我们又怎么向电脑发布命令呢?

  很简单。比如,我们想看看现在几点钟了,就可以输入时间命 令,敲入time四个字母,它在英文中是“时间”的意思,再敲回车键加以确认,这时屏幕上就显示出当前时间。 

  再敲回车键,瞧!又出现提示符了,就可以输入下一条命令了。
  如果想看日期,输入date,然后敲回车键确认。

  这时屏幕上显示出当前日期。再敲回车键就回到提示符下。
  这就是DOS的命令输入方法,和 Windows 95中用鼠标寻找图标来运行程序不同,DOS中是通过输入英文命令加回车键这种方式来执行程序的。
  怎么样,和Windows 95完全不一样吧?在字符界面下,我们只能通过键盘输入字符来指挥电脑工作,电脑完成一个命令后,出现下一个提示符,我们就又可以给电脑下命令了。注意,在DOS下电脑一次只能做一件事,做完以后才能开始下一件事;而在95下,我们可能让电脑同时干几件事,比如,我们可以一边拷贝文件,一边写文章,一边浏览Internet。所以人们把DOS称为单任务的操作系统,而把 Windows 95称为多任务的操作系统。

2.DOS文件与目录管理

在DOS中,文件与目录是最重要的概念,这和95一样,不同的是,“目录”在95中叫做“文件夹”。

  如果我们想查看电脑中的文件,可以输入dir命令,然后回车。下面是我电脑屏幕上显示的结果。


  如图所示,后面带有<dir>的是目录,没有的则是文件,这些目录里都分门别类地存放着许多不同用途的文件。你看,第一排是DOS目录,它里面有许多DOS命令文件和一些辅助信息文件。第二排是WINDOWS目录,它里面包含着许多有关WINDOWS程序的文件。


  在DOS中,文件名的规则是8.3形式,即一个文件名由文件基本名和文件扩展名组 成,中间用点“.”隔开,文件基本名由不超过8个英文字母或数字组成,文件扩展名由不超过三个英文字母或数字组成,文件基本名必须有,扩展名可以没有。

  看上图,第一列的就是“文件基本名”,第二列的是“文件扩展名”。注意:在用dir命令显示文件列表时,文件基本名和扩展名之间并无“.”分隔符,但你在输入完整的文件名时必须输入它。

  第三列显示的是文件的大小,表示它占用了多少存储空间,也就是文件包含信息的多少,包含的信息越多,文件就越大;

  第四列表示的是文件建立的日期或者是最后被改动的日期,每个文件都有对应的生成时间,就象每个人都有自己的生日一样,文件的生成时间就是文件形成的时候。时间采用通常的表示方法,由年、月、日组成。

  最后一列表示文件生成的具体时间,最后的一个字母a表示上午、p表示下午。

  我们再来看看倒数一二行,这些是什么意思呢。“ 10 file(s) ”是要告诉你这个目录内有 “ 10 ”个文件,这些文件加起来一共有“ 64,692 bytes”大,在这种计算中,每个子目录也算是一个文件,但它的大小算零。最后一行的是告诉你当前你的工作磁盘上还剩下“ 215,735,513 bytes”大小可用的磁盘空间。

  如果我们要看看DOS目录里的文件,那么我们可以敲dir dos回车,也就是查看DOS目录的意思,如果敲dir windows回车就是查看windows目录下的文件的意思。 大家可以试着练习练习dir命令,观察文件夹下面的东西。

3.DOS文件分类

 用dir命令来查看磁盘上文件时,你会发现文件后缀(即文件扩展名)有很多种,它们当中大部分都是有一定含义的。


  其中凡后缀为exe、com或bat的文件都是可以直接执行的。这些以exe为后缀的文件叫可执行文件;以com为后缀的文件叫命令文件;以bat为后缀的文件叫批处理文件。如果我们要执行这些文件,只需在提示符下敲入文件基本名然后回车即可,不需输入文件后缀。

  比如第一行的这个文件叫format,其后缀名为com,如果我们要执行它,只需在提示符下敲入文件基本名然后回车即可,不需输入后缀名。(这其实是我们后面要学的格式化命令format,不要试着按画面上的提示文字输入,否则你A盘上的资料就要没了,等学了后续章节后,你明白了这个命令后再试,现在千万不要乱用!!!)


  又比如,第二行的这个文件mem.exe,其后缀是exe,也是一个可以执行的文件,它的功能是查看电脑目前内存的占用情况。在提示符下敲mem,然后回车。(这个命令没问题,你可以试试看)


  这里显示了电脑总共有多少内存,现在使用了多少,还剩多少,以及使用了多少基本内存,还剩下多少基本内存等情况,这些在下面将有详细解释。

  当我们在c盘的根目录下查看文件时,往往会看到这个 autoexec.bat 文件,其后缀是bat,说明它是一个批处理文件,也是可以直接执行的。


  所谓批处理,就是一下可以执行很多条命令,当我们想让电脑完成一系列任务时,可以一个一个命令的执行,也可以将这些命令都装入一个文件中,只要敲一下这个文件名,电脑就会将这一批命令一次执行完毕。

  在实际操作中,我们经常会建立一些批处理文件,来完成许多有着固定步骤的烦琐工作。现在,你已经知道电脑中哪些文件对你直接有效了,它们就是以com、exe或bat为后缀的文件。

  所以,当你拿到一个新软件时,首先就可以用dir命令查看有没有以它们为后缀的文件,一般情况下,你都能找到一个或几个这样的文件,你大可放心地去执行它们,其中必然有一个是对的,错了也没关系,一般不会有太大的影响。

4.DOS目录、子目录、盘符

 在DOS中,有个当前目录的概念,就是提示符所显示的目录,现在的提示符是C:\,那么当前目录就是C盘的根目录,这个\(反斜杠)就表示根目录。


  如果要更改当前目录,那么可以用cd命令, 比如我们输入 cd dos ,就表示更换当前目录为dos目录,回车后, 你看,提示符变成了C:\DOS,这就表示当前目录变成了C盘的DOS目录了,当前目录有什么意义呢?

  在这里,我们输入dir试试,看,现在列出的文件已经不是刚才看见的了,这些都是DOS目录里的文件,这就说明,dir命令列出的,是当前目录中的内容。还有,就是在我们输入可执行文件名时,DOS会在当前目录中寻找该文件,如果没有该文件,DOS会提示错误信息。

  那么目录是什么结构的呢?目录是树形结构的,你看,下面是一个目录结构的示意图,这个C:表示最上面的一层目录,叫做根目录,其它的目录都是根目录的子目录,如DOS,WINDOWS,TOOLS等,而DOS,WINDOWS目录自己也有子目录,象DOS下的TEMP目录,WINDOWS下的SYSTEM目录。

  我们用CD命令来改变当前目录,输入 CD DOS ,那么当前目录就变成了 DOS,有时我们把改变当前目录为一个子目录叫做进入该子目录,那么我们现在就是进入了DOS目录,再输入 CD TEMP ,那么我们又会进入TEMP目录了,如何退出TEMP目录呢? 只要键入 CD .. ,回车,我们就可以回到DOS目录了。在DOS中,这个两点就表示当前目录的上一层目录,一个点表示当前目录,有时,我们叫上一级目录为父目录。 再输入 CD .. ,然后回车,我们就回到了C盘的根目录。

  进入一个目录的子目录并不需要用CD命令一层一层进入,可以用一行命令完成,比如要进入 WINDOWS目录下的SYSTEM子目录,只要输入 CD WINDOWS\SYSTEM 就可以了,也可以输入 CD C:\WINDOWS\SYSTEM ,如果要回到根目录,那么也不必多次输入 CD .. 来完成, 可以直接输入 CD \ ,\就表示根目录。

  在子目录中用dir命令列文件列表时,我们会发现,.和..都算作文件数目,但大小为零。

  如果我们要更换当前目录到硬盘的其它分区该怎么办呢?当然不是使用CD,否则我就不用说了,这时应该输入盘符然后回车。比如要到D盘,那么就输入 D: ,然后回车,瞧,现在提示符就变成D:\>了。 再用dir命令,就是列出D盘的文件了。

  实际上,要完整地表达一个子目录应该是盘符加目录,比如C: \DOS\TEMP,那么完整地表达文件呢?就是盘符加目录加文件名,比如C:\DOS\TEMP\ME.TXT,C:\DOS\TEMP\就叫做ME.TXT的路径。

  刚才我们说过,输入可执行文件名时,DOS会在当前目录中寻找该文件,如果找不到,会提示错误的文件名,但是我们不是一定要把当前目录更换到文件所在的目录才能运行它的,可以在文件名前加上完整的路径就可以了,比如我们现在的当前目录是C:\DOS,我们要运行D:\TEST\PCT.EXE,那么我们可以直接输入D:\TEST\PCT.EXE回车,这样我们不改变当前目录就可以执行其它目录下的文件。

5.DOS启动过程

电脑刚启动时,要先从某个磁盘上将一些系统程序读入内存后才能正常工作,我们将这个磁盘叫做启动盘。

  通常,我们用A盘或C盘作为启动盘,在特殊情况下,硬盘的其它盘符和少数电脑的光盘也可以作启动盘。制作启动盘需要使用sys命令,可以参看后面的命令部分。


  DOS系统启动时,要先从启动盘中读取两个系统文件IO.SYS、MSDOS.SYS,然后在启动盘的根目录下寻找并执行 CONFIG.SYS、COMMAND.COM、AUTOEXEC.BAT三个文件。其中IO.SYS、MSDOS.SYS和 COMMAND.COM这三个文件缺一不可,否则电脑将无法正常启动

  CONFIG.SYS和AUTOEXEC.BAT这两个文件是用来配置系统运行环境和自动执行一些命令,它们对电脑的运行性能以及许多设备的驱动起到了至关重要的作用,我们可以根据自己的需要对它们的内容进行修改,

  autoexec.bat叫做自动批处理文件,它是批处理文件的一种,因为DOS启动时会自动运行它,所以叫做自动批处理文件。你可以把自己每次启动电脑时都要运行的程序放在里面。

  如果电脑在根目录下找不到这两个文件,也是可以运行的,但有许多复杂的软件和设备将无法正常工作。比如光驱、声卡以及Windows程序等。所以,初学者应注意不要将上面的几个文件删除,否则,电脑将不能正常工作。

6.dir命令

前面我们说过,在DOS下我们用输入命令的方式来指挥电脑工作。那么把我们想说的话输入到电脑里,电脑就能明白吗?

  显然这样是不行的,DOS下的电脑只能明白一些特殊的英文命令的含义,只有你输入这些命令,电脑才会听你的指挥,否则它只会傻傻地说:“Bad command or file name.”这是在说它搞不懂你说什么。那么,DOS下的命令有哪些呢?

  DOS的命令分为内部命令和外部命令,内部命令是随command装入内存的,而外部命令是一条一条单独的可执行文件。

  内部命令都集中在根目录下的command文件里,电脑每次启动时都会将这个文件读入内存,也就是说在电脑运行时,这些内部命令都驻留在内存中,用dir是看不到这些内部命令的。而外部命令都是以一个个独立的文件存放在磁盘上的,它们都是以com和exe为后缀的文件,它们并不常驻内存,只有在电脑需要时,才会被调入内存。

  我们先来看几个最常用的命令,以便对DOS命令有更深的了解。DOS下使用频率最高的命令莫过于dir命令了,dir是英文单词directory(目录)的缩写,主要用来显示一个目录下的文件和子目录。

  我们可以试着在提示符后输入 dir ,再按Enter回车键,无所谓大小写,如果输入错误了,可以按Backspace键来修正。如果你的当前目录下有很多文件或子目录,会发现内容还没有看清楚,就哗的一下滚过去了?

  别着急,想看清楚还不简单,dir命令是可以带参数的,键入 dir/p 试试看,看,这先计算机在显示完一屏内容后,停了下来。

  看到最后的一行英文没有,这行英文的意思是:如果你看完了这一屏,随便敲一个键就可以看下一屏。那就敲个键试试,随便哪个都行。 好,是不是换了一屏怎么样,是不是很方便呢?

  如果你觉得用dir/p分屏显示还是太麻烦,你用这个命令试试,从键盘上输入 dir/w 试试看。这回所有文件在一屏内都显示出来了,但好象少了点什么,原来文件的大小和生成时间都被省略了。如果你只想知道目录内有什么文件和子目录,而不关心文件的生成时间和大小的话,那么使用dir/w,以短格式方式显示是不错的选择。   

  dir命令不但可以查看目录中有什么文件,还可以查看目录中某个文件的信息,例如输入 dir abc ,就是查看当前目录中文件abc的信息,包括它的大小和生成时间。


  如果执行dir abc后,显示是“File not found.”则说明当前目录中没有abc这个文件,所以还可以用dir命令来查找文件。比如用dir命令查找当前目录中是否有win这个文件,只要输入dir win。

  dir命令不但可以查找和显示一个特定的文件,还可以显示一类文件。例如输入 dir *.bat ,显示的就是所有扩展名是bat的文件。看下图


  那这里的 * 是什么意思呢?在DOS命令中, * 在文件名中出现是代表任意字符的意思。例如,A.*就代表了文件基本名是A,扩展名是任意的所有文件。那么dir a.* 就是把文件基本名是a的所有文件都显示出来。如果用dir A*.*,将会出现什么结果呢?结果是显示了文件基本名以A开头的所有文件。再深入一点,dir *.*是什么意思呢?在这里文件基本名和扩展名都是任意的,那就等于代表了所有文件,所以这和只输入dir的作用是相同的。    

  因为*可以代替任意字符,所以我们称之为通配符。其实通配符不只*一个,现在我们再来看看另一种通配符---- ? 。

  ?通配符和*的区别是什么呢?*可以代替文件名中的多个字符,而?只能代替文件名中的一个字符。比如a*.*是代表所有文件基本名以a开头的文件,而a?.*是代表文件基本名只有两个字符,并且第一个字符是a的所有文件,同理a??.*是代表文件基本名只有三个字符,并且第一个字符是a的所有文件。

  两者还有一个区别,在文件名中出现*后,其后的所有字符都不起作用,比如A*.*和a*b.*是没有任何区别的,但A*.*和A*就不一样了,因为中间隔了一个分隔符,*的作用不能超过分隔符。

  在作用不超过分隔符这一点 上,?和*是一致的,但是,无论在文件基本名或扩展名中出现在?后,后面的字符仍然起作用。例如,a?.bat和a?b.bat是不同的意思,前者代表了文件扩展名是bat,而文件基本名是两个字符,且第一个字符是a的所有文件,后者代表了文件扩展名是bat,而文件基本名是三个字符,且第一个字符是a,第三个字符是b的所有文件。

  最后再讲一点吧,都差点忘了这个小问题了。在使用通配符时,文件基本名和扩展名中最多只能各出现一个*,而?可以在不超过文件名和扩展名长度的前提下出现多个。 例如:这三个文件名a???.b??、 a????b?.?c?及??a?b??c.??d 都是可以的。   

  最后来个总结吧,dir命令最大的用途就是让你了解磁盘到底都有些什么,还剩下多少存储空间。最后还有一个小窍门,如果你想知道A盘上都有什么,你不必先输入a:,变换当前驱动器为A盘后,再敲dir,你可以直接键入 dir a: 。不信试试看,千万别忘了插入软盘哟!

7.cd命令

我们已经使用过cd命令,大家肯定还记得吧。cd是英文change directory(改变目录)的缩写,也是最常用的命令之一。顾名思义,如果想要进入一个目录,显然该采用这个命令了。

  在讲cd命令之前,我们先来谈谈提示符是什么意思。现在的提示符是 c:\>

" src="img/dos0204.gif" width="420">

  这个 c: 说明现在的工作盘是c盘,即当前盘是硬盘。这个紧接着c:后面的 \ 告诉我们,当前的工作目录是根目录。这个 > 的作用只是为了把工作目录和我们要输入的命令分隔开来,没有其它的意义。这样,我们就可以从提示符上看出当前的工作盘和工作目录是什么,你如果清楚了这一点,那么学习cd命令就变得轻松自如了。

  好,现在我们想进入dos目录,该怎么办呢?对了,直接输入 cd dos 就行了。


  你注意,提示符变了,变成 c:\dos>了。这就告诉我们,我们当前的工作目录是c盘根目录下的dos子目录。 如果想退回上一层目录,就键入 cd .. ,看提示符又变回来了。是不是很简单呢?进入子目录就输入 cd+空格+子目录名 ,想返回上一层目录,就输入 cd .. (两点)。     

  现在你来练习一下,要进入windows子目录,怎么办?当然是输入 cd windows 。 在windows目录下,还有一个子目录:system,再进去看看,输入 cd system ,好,暂停一下,这时我想要返回到根目录,这该怎么办?用cd ..吗?那当然可以,不过得用两次。我们有更好的办法,其实只需键入 cd\ 三个字符可以一下子就回到根目录,自己试试吧。

  cd命令的用途就是让我们可以到任何一个目录去。我们把不同功能的文件分别安排在不同的目录内,是为了管理方便,可是当我们要使用某个文件时,我们就得到该文件所在的目录中去。 比如说,要使用wps,就要到wps所在的目录;要用windows,就要到windows所在的目录。事实上,你学会了cd命令,你就可以到达磁盘中的任何一个目录了。不过有一点提醒你注意,如果想要到非当前磁盘的某个目录时,要先输入盘符,回车后,等当前盘变为另一个磁盘时,你才可以使用cd命令到达你想要去的目录。

8.md和rd
不知你想过没有,磁盘上的这些目录都是哪来的呢?其实,这些目录都是我们自己建立的,我们建立这些目录的目的,就是为了分类组织文件,如果我们有一类新的文件,就需要再建立一个新的目录。今天我们要学的两个命令就是进行目录操作的,它们是md(make directory--创建目录)和rd(remove directory--删除目录)。

  这两个命令很简单,比如我叫小博士,我要把自己的文件都放在一个目录中,我就可以输入 md xbs ,建立我的目录。这时你用dir命令看一看,就会发现根目录下多了一个目录XBS。


  你不妨练习一下,建立一个名字叫xyz的目录,再输入dir,是不是可以看到xyz目录啦,如果你看到了,你就成功了(呵呵,这课也就完成一半了)。现在让我们到这个目录中去,键入 cd xyz ,注意,提示符是不是变了。好,输入 dir 命令。很奇怪是吧?我们刚刚建立了这个目录,按理说,这个目录中应该什么都没有的。其实,不管你建立什么目录,这个. 和 .. 都会在目录中出现,因为 .  代表此目录本身, ..  代表此目录的上一层目录。显然,一个目录既然已经存在了,就不可能没有本身,也不可能没有上一层目录。(..你使用过的,记得吗?就是cd ..,用来返回上一层目录)。


  再练习一次,在xyz目录下建立一个目录:abc,(正确方法是输入 md abc )用 dir命令看一下,abc目录显示出来,就说明你已经成功学会建目录了。

  既然能建立目录,当然也就可以把它删除,rd命令就是干这活的。比如想把abc目录删除,输入 rd abc 就可以了。不信再用dir命令看看,abc目录是不是没了。是不是很简单,要删除当前目录下的某个子目录,输入rd空格加上子目录名就可以完成任务。

  不过使用RD命令可得注意几点问题(要不然你删一辈子也别想删除某些目录),好好看看下面几点吧:


  现在你再练习一次(这次你成功了,就胜利出师了,可以安心学下一课了),如果想删除你现在所在的xyz目录,该怎么办呢?

  正确答案:输入 cd .. 命令退回到上一层目录,再输入 rd xyz 将xyz目录删除。

9.copy命令

copy在英文中是复制的意思,所谓复制就是原来的文件并没有任何改变,重新产生了一个内容和原来文件没有任何差别的文件。下面是copy命令的格式及及该注意的一些问题:


  现在让我们来看一个例子,根目录下有一个文件叫做 autoexec.bat,如果我们想将它复制一份叫做autoexec.old,就可以输入 copy autoexec.bat autoexec.old 键入 dir ,除原有的autoexec.bat文件外,出现了一个autoexec.old文件,而且这两个文件的大小都一样。


  如果我们想把dos目录下的edit复制到当前目录,就从键盘上敲入    copy c:\dos\edit (注意,省略了目的目录名和文件名),源文件名是C盘根目录下dos目录中的edit文件。在这里指出了所在的驱动器及目录,而目的文件被省略了,这表示将文件复制到当前目录中,名字不变,也是edit。

  如果你想把文件复制到另一个驱动器,比如说复制到A盘上,可以输入    copy edit a: (得记住往A驱动器里插磁盘哦)。

  copy命令也可以使用通配符,例如要复制A盘上以K开头的所有文件,可以输入copy a:k*.*,如果要复制C盘根目录下所有扩展名是bat的文件到zht目录里,可以输入copy c:\*.bat c:\zht。

  复制文件的主要目的有两条,一是为重要的文件作一个备份,以免被删除后追悔莫及;二是在不同计算机之间交换信息,你可以将你的工作成果复制到软盘上,交给你的上司、同事,也可以把它带回家里。 最后要提一句的是,拷贝文件和复制文件是没有任何区别的,拷贝是copy的音译。

10.del命令
del即delete(删除)的缩写,显然它的作用就是“干破坏”删除文件。

  复制文件有点复杂,删除文件就很简单了。你看,如果我要删除a.bat文件,输入 del a.bat 就可以完成任务。


  简单吧,del命令的格式就是如此简单: del 文件名 。 要删除当前目录中的某个文件,输入del空格再加上文件名就可以了。现在你可以试着试删除不要的废文件了。

  要删除一类文件,可以使用通配符。例如del *.tmp,就是把所有扩展名是tmp的文件都删除。


  你也可以删除当前目录中的所有文件,命令很简单: del *.* 或 del . 。


  这时计算机会告诉你此目录的所有文件都将被删除,同时问你是否继续,


  如果你不想删除,输入n(no),如果你确实要删除,输入y(yes)。

  del *.*或del .一般用于在删除子目录之前,先删除目录中的所有文件。(记住,初学者慎用)

  del命令还可以删除非当前目录中的文件,例如del a:\bmp\sea.bmp,就是把A盘上bmp目录下的sea.bmp文件删除。你可以试着删除C盘temp目录内的所有文件,正确方法是输入del c:\temp\. 或 del c:\temp\*.*,然后再输入y。

  删除无用的文件,可以使磁盘的可利用空间增大。但在删除文件之前,你最好知道此文件的用途,确定没有用之后,才可以删除,否则追悔莫及。尤其使用del .和del *.*时要更加注意,因为一个目录中的文件都将被删除。

11.ren和type

如果想给一个文件改个名字,可以用ren(rename)命令。ren命令的格式是: ren 源文件名 目的文件名 。

  例如把abc.txt改成bne.dat,就可以输入 ren abc.txt bne.dat 。


  你可以试试看,再改回来,把bne.dat改名为abc.txt。abc.txt。         注意:如果用ren命令更改非当前目录中的文件名,那么源文件名和目的文件名要在同一个目录内。

  讲了这么多关于文件的操作,是不是还没见过文件长什么样?学完下面这个type命令,你就可以知道文件里写了什么东西。

  type命令的格式就是: type 文件名 。比如说,我想知道abc.txt文件的内容,就从键盘上输入type abc.txt 。


  现在你可以试着操作一下,看看各个文件里有些什么东西,是不是很有成就感。好了,你已经掌握了type命令,不过我还想提醒你一下,除了文件扩展名是txt的文件,对其它文件你最好不要使用type命令,否则屏幕上可能会出现很多怪模怪样的符号,还会嘀嘀地乱叫,弄得你心烦意乱。

12.format命令

现在用电脑的人都知道软盘,但你知道新买来的软盘是不能直接使用的吗?(这概念有点过时,因为现在有很多厂家生产的软盘都先帮你格式化过,不过这命令还是不能不学,因为太有用)新买的软盘你既不能用copy命令向软盘上复制文件,也不能用dir命令查看软盘上的内容,甚至从键盘上输入A:都会引起错误。这是为什么呢?
  因为软盘在使用前需要先格式化,在软盘上作出许多位置标记,然后才能向上面填写数据和文字,这就好象在一张白纸上画格子,然后再在这些格子中写字一样。这个在软盘上打格子的过程,就叫格式化。给软盘格式化,要使用format命令。

  format命令的格式很简单: 格式化A盘,就是 format A: ,格式化B盘,就是 format B: 。

  请你看一个例子,从键盘上输入 format A:


  这时计算机就让你在A驱动器中插入磁盘


  你插入磁盘后,按一下回车键,计算机就开始对软盘进行格式化。 屏幕上显示已经完成的百分比


  格式化完成之后,出现提示让你给磁盘起一个名字。你可以输入你喜欢的名字,也可以直接敲回车不输入名字。


  接下来,计算机会向你报告磁盘的总空间和可利用空间,


  如果总空间和可利用空间相等,说明磁盘空间全部是好的。如果可利用空间小于总空间,说明有一部分磁盘坏了。

  看到最后一句话没有,这是计算机问你是不是还要格式化其他软盘,如果你只需格式化这张软盘,就键入N,如果还要格式化其他软盘,就键入Y。

  现在你可以练习一下,格式化一张无用的软盘看看自己掌握怎样。

  有一件事必须告诉你,如果要格式化的不是新盘,format命令会把磁盘上的所有文件都删除掉,所以在格式化之前,你要确认磁盘中的内容全都是无用的,否则将会给你带来很大损失。切记:不要尝试对硬盘使用format命令,除非你知道自己在干什么,否则你将丢失你电脑内的一切信息。

13.diskcopy命令

我们已经学过复制文件,但你们知道磁盘也可以复制吗?好,这节就讲这个东东,diskcopy,翻译成中文就是磁盘复制。所谓复制磁盘就是复制出一个和原来磁盘内容一模一样的磁盘,其实和复制文件也差不多。
  diskcopy命令的格式很简单: diskcopy 源驱动器名 目的驱动器名 。举个例子来说,如果要在A驱动器上复制磁盘,就输入: diskcopy a: a: (奇怪吧,哪来两个A盘,且看下文电脑是如何理解的)。

  输入 diskcopy a: a: 命令后回车,电脑提示让你插入源盘


  插入磁盘后,随便敲一个键,计算机就开始读源盘上的内容,


  读完原盘后,电脑会叫你插入插入磁盘,原来电脑是这样理解两个A盘的,把原盘取出,再插入要写的磁盘,呵呵,还有够聪明的。


  换完盘后,按任意键,计算机开始向磁盘上写入源盘的内容。


  写完之后,计算机会问你是否再复制一张和源盘一样的磁盘,如果你不想复制,敲入N;


  这时计算机会再问你是否进行另一张磁盘的复制工作(还真够烦的,啰啰嗦嗦),如果没有其它磁盘需要复制,键入N。

  有个小问题提醒你注意,如果你有两个驱动器,当然可以不这样靠替换磁盘的手段,可以直接用 diskcopy a: b: ,一次把工作做完,不过有个前提,就是你的两个驱动器的规格必须是一样的。  

  最后大家肯定要问,这命令有啥用啊,其实也很简单,它的主要用途就是用来备份。比如我们的电脑在刚买来时,会随机附带一些设备驱动程序磁盘,这些驱动程序在以后都有可能用到,为防止这些磁盘的损坏,一定要将它们都备份一套,这时,使用diskcopy命令是比较快捷和方便的。

14.deltree和mem
用rd命令删除目录时,要先把目录中的文件删除,如果目录内还有子目录,就需要先进入此目录内,用rd命令把子目录删除。如果子目录下还有更深一层的子目录和文件,就要重复上述工作,可以想象,当目录层数很多时,删除起来就会相当麻烦。为此DOS提供了一条快速删除目录的命令--deltree,这条命令不管目录下面有多少子目录和文件,都会一次性删除。
  我们可以来试试,比如有个目录abc需要删除,就拿deltree这个大砍刀试试。输入 deltree abc ,这时计算机会问你是否真的要删除,键入y后,目录就被删除了。


  利用deltree命令确实可以很方便地删除目录,但如果误操作之后,损失也是很大的,所以在使用deltree命令之前,要确认每个子目录下的文件都是没有用的。对于初学者,最好慎用该命令。


  mem是memory的缩写,该命令用来查看你的计算机内存有多少,以及内存的使用情况。

  你试试从键盘上输入mem命令: mem ,然后回车


  上面看到的就是计算机显示的关于内存的情况,我们可以看到我机器的内存为24,576K,已使用22,947K,还剩下1,629K可用。

  看到显示数据的第一行,这是关于基本内存情况的介绍,640K是基本内存的总值, 已用去35K,还剩下605K可用内存,这个值很重要,它的大小决定了你在dos中能执行什么程序,当基本内存剩余值较小时,就不能执行一些较大的程序。

  mem命令还可以用来粗略地判断一下电脑是否染上了病毒。因为,DOS基本内存总值一般应显示为640K或639K。如果电脑染上了病毒,这个值往往会改变,比如会变成638K或634K等,当你发现自己电脑上的这个值不为640K或639K时,一般情况下,电脑就已经染上病毒了,应该尽快用杀毒软件杀毒。当然,也有很多病毒并不改变这个值,所以,我们要经常用杀毒软件检查和清理电脑。

15.chkdsk命令

chkdsk是check disk的缩写,用来检查你的磁盘的使用情况。
  chkdsk命令的格式是:  chkdsk 磁盘名 ,例如要检查A盘使用情况,就输入chkdsk A: ,检查c盘使用情况,就输入chkdsk C: ,如果直接输入chkdsk,就检查当前磁盘的使用情况。

  我们现在来试试看,输入 chkdsk 命令,下面显示出一大堆信息,看看


  旁边的文字显示了这些信息是关于什么的,比如第一行显示的是磁盘总空间有540,672,000 bytes。依此类推,第五行显示的是磁盘可用空间为215,531,520 bytes。

16.path命令

在DOS提示符下,如果我们要执行某个可执行文件,电脑会在磁盘上寻找这个文件,如果不经过特殊处理,它只在当前目录下寻找,如果没有找到则提示出错。就像下面一样,出现这样的提示:

  这也就是说,如果要执行某个文件前,都要将当前目录转换到它所在的目录,显然这是一件很麻烦的事情(电脑是不是很笨啊,不用怀疑这句话的正确性了,我证明过n遍了,我不说,它什么都不做,呵呵)。

  为了解决这个问题,DOS提供了一条Path命令,如果在Path命令中定义了某个目录,那么你在任何地方,都可以直接执行Path中指定目录里的文件。(简直太爽了,这可减少了很多麻烦)     

  path命令的格式很简单: path 目录名 ,如果有很多目录,中间就用 ; (不要记错了,是分号不是逗号)隔开。要加入新的目录,就在最后一个目录的后面加一个; 然后再输入新的目录名就可以了。

  讲个例子吧,比如,path=c:\dos;c:\windows;c:\   这条命令就是说,当我们执行一个文件时,电脑先在当前目录下查找这个文件,找到则执行,如果没有找到,则电脑按照path命令所指定的目录顺序去查找,先在C盘dos目录下,然后在windows目录下,最后在C盘根目录下寻找这个文件。

  但是,每次输入path路径仍是件很麻烦的事情,记得我们第一课讲过的DOS启动顺序中要自动执行的一个命令文件吗?对了,就是autoexec.bat,我们把path命令写在该文件里,这样启动计算机后,你就可以执行Path命令指定目录中的任何可执行文件了。

17.DOS命令

edit命令是一个简单的编辑软件,我们经常用它来编辑一些程序和批处理文件。
  比如,我想在c盘根目录下编辑一个简单的批处理文件,要求无论当前盘和当前目录如何,每次只需输入一个字符w,然后回车即可运行c盘windows目录下的windows程序。这也就是说我们要编辑一个文件名为w.bat的批处理文件。      我们可以在提示符下敲入 edit w.bat回车(就是编辑 w.bat文件的意思)


  进入编辑状态后,输入以下内容:c:
                  cd\windows
                  win     


  输入完后,按Alt+F键激活File菜单, 按向下的箭头选择退出(Exit),


  然后电脑提示是否要保存刚才输入的内容,如果要保存,只需输入Y或者直接回车即可。


  这时已经编辑完w.bat文件,又回到了提示符状态,用前面讲过的type命令就可以查看刚才编辑的w.bat文件,只需输入type w.bat回车即可。


  学到这,祝贺你DOS小有成就,已经有了我五成水平了(呵呵,别高兴太早,想超过我,多下点功夫吧),现在你基本上可以自己操作计算机了。

18.

上课里我们已经学习了不少DOS命令,但那只是很小的一部分,在这课将简要介绍其它一些命令。
  首先,在这一节先回忆一下上课的内容,不要学过就忘啊,多使用几次就能记住的。好,开始吧,看你学得怎么样。

  cd     改变当前目录       sys   制作DOS系统盘

  copy    拷贝文件         del   删除文件

  deltree   删除目录树        dir   列文件名

  diskcopy  制磁盘          edit  文本编辑

  format    格式化磁盘        md   建立子目录

  mem     查看内存状况       type  显示文件内容

  rd     删除目录         ren   改变文件名

  记得多少啊,忘了就去上课看看,下面四个命令是新的,给出命令格式,你自己试试看,学电脑重要的就是摸索。

cls     清屏

[适用场合]  屏幕上太乱了,或是屏幕上出现乱码了, 清除屏幕上显示内容但不
         影响电脑内部任何信息

[用  法]  cls  回车

move     移动文件,改目录名 

[适用场合]  移动文件到别的目录

[用  法]  move [文件名] [目录]        移动文件至新目录下

        move [目录名] [目录名]       改目录名


[例  子]  c:\>move c:\autoexec.bat c:\old

        移动autoexec.bat文件至old目录下

        c:\>move c:\config.sys c:\temp

        移动config.sys文件至old目录下


more     分屏显示

[适用场合]  当输出很多一屏显示不下时采用,几乎适合所有命令,尤其是type
         等命令时很有用。 使用more时磁盘不能有写保护,也不适合光驱。

[用  法]  type [文件名] | more        分屏显示文件内容

        more < [文件名]          分屏显示文件内容


[例  子]  C:\>type msdos.w40 | more

xcopy    拷贝目录和文件

[适用场合]  在进行连同子目录一起拷贝时很有用,在拷贝大量文件时比COPY命令
         要快得多

[用  法]  xcopy [文件名] [目录]       将指定文件拷贝到指定目录

        xcopy [源目录] [目的目录]  将源目录连子目录考到目的目录下

        xcopy *.* [目录] /s   将文件与非空子目录拷贝到指定目录

        其它常用参数还有: v 拷贝后校验,会影响速度
                   e 与s 相似,但即使子目录是空的也会拷贝。

19.help
我们已经学习了不少DOS命令,是不是感到记忆起来很困难,其实高手都不记命令的用法,而只是知道某个命令可以解决某个问题,或在哪个场合下该用哪个命令,用时就现查该命令的用法(当然这要求你首先得有一定英文基础,而且知道哪个命令是干啥的,如果都不行没办法,就只好记了,或者学windows吧)
  那该怎样查一个命令的用法呢?这就要用到 help 命令,它可提供所有命令的帮助。

help     帮助

[适用场合]  当您想具体了解DOS命令的使用方法时使用

[用  法]  help                提供所有DOS命令帮助

        help [DOS命令]           提供有关命令的帮助

  如果你只大致记得某个命令,可以在提示符后直接输入 help 命令,然后将出现下面的画面:


  将光标移至需查询的命令,回车后可查询到其语法格式,比如 cd 命令吧:


  将光标移至 <Notes> ,回车后可查询到其详细语法及功能的解释;将光标移至 <Examples> ,回车后可查询到其语法的详细举例,我们常用举例功能,下面是点 <Examples> 后出现的画面


  如你记得是什么命令就好办了,可以按Alt+S键选择"Find"(查找),则会弹出下面的对话框


  输入需查找的DOS命令,回车后可立即查询到有关命令的详细信息。

20.attrib    data      label
attrib    设置文件属性
[适用场合]  想对文件做较特殊的处理时

[用  法]  attrib 显示所有文件的属性

        attrib +r或-r [文件名] 设置文件属性是否为只读

        attrib +h或-h [文件名] 设置文件属性是否隐含

        attrib +s或-s [文件名] 设置文件属性是否为系统文件

        attrib +a或-a [文件名] 设置文件属性是否为归档文件

        attrib /s 设置包括子目录的文件在内的文件属性

[例  子]  C:\TEST>attrib +r wina20.386

        C:\>attrib +h *.* /s 隐含所有文件

date     显示及修改日期

[适用场合]  想知道或修改时间和日期

[用  法]  date 显示和改变当前日期

[例  子]  C:\>date 09-20-1996 将日期改为1996年9月20日

        C:\>date

          Current date is Tue 08-20-1996

          Enter new date (mm-dd-yy):09-20-1996

          按月-日-年的顺序修改当前日期 直接按回车键忽略修改日期


lable    设置卷标号

[适用场合]  用来为磁盘做个标记

[用  法]  label 显示磁盘卷标

        label [盘符] [卷标名] 设定指定盘的卷标

[例  子]  C:\>label
         Volume in drive C is WANG
         Volume Serial Number is 2116-1DD0
         volume label (11 characters,Enter for none)?
         可以输入卷标,直接回车后
         Delete current volume label (Y/N)?
         按y删除旧卷标,按n不更改

21.defrag命令

defrag    磁盘碎片整理
[适用场合]  磁盘读写次数很多,或磁盘使用时间很长了,可能需要使用这条命令
         整理磁盘。磁盘碎片并不是指磁盘坏了,而只是由于多次的拷贝和删
         除文件后,磁盘使用会很不连贯,致使速度变慢。

[用  法]  1. C:\>defrag

        2. 选择要整理的磁盘


        3. 电脑分析磁盘状况,然后告诉我们磁盘有多少需整理。按Esc键


        4. 选择Optimization Method(磁盘优化方法),选择“全部优化”
         或“仅优化文件”


        5. 选择Begin Optimization 开始整理

        6. 整理完后,按回车键


        7. 按Esc退出。

22.doskey   fdisk

doskey    调用和建立DOS宏命令
[适用场合]  经常需要输入重复的命令时,有非常大的用处

[用  法]  doskey 

        将doskey驻留内存,开辟出缓冲区,以后输入的命令都将保存在缓冲
         区中,可以随时调用

        doskey [宏命令名]=[命令名]  

        将宏命令定义为命令,以后输入宏命令,电脑就会执行相应的命令

        doskey /reinstall      重新安装doskey

        doskey /bufsize=       设置缓冲区的大小

        doskey /macros        显示所有doskey宏

        doskey /history        显示内存中所有命令

        doskey /insert|overstrike 设置新键入的字符是否覆盖旧的字符

[例  子]  C:\>DOSKEY
         C:\>dir
         C:\>copy C:\temp\*.* a:
         C:\>del c:\temp\*.*
         C:\>copy b:\*.* c:\temp

        上述四条命令都已被保存,用光标控制键的上下可以依次选择使用或
         修改, 也可以用F7键列出保存的所有命令

         C:\>doskey di=dir/w/p 定义di为宏命令,意思是执行dir/w/p

fdisk     硬盘分区

[建  议]  只有硬盘被很利害的病毒感染时,或是一块新硬盘才需要分区,最好
         请懂行的人指导。硬盘都需经过低级格式化,分区,格式化三个步骤
         才可使用,成品电脑内的硬盘都已经做过这些加工了。

[用  法]  输入fdisk后按回车即可进入提示界面

23.Emm386、Lh、Memmaker命令

emm386    扩展内存管理
[建  议]  这条命令比较复杂,在第五章中系统配置里将详细介绍

lh/loadhigh    将程序装入高端内存

[适用场合]  这条命令一般用在autoexec.bat中,当有些软件需要的基本内存很大
         时,它会有用

[用  法]  lh [程序]  

        将程序装入高端内存 使用此命令时,config.sys文件中需有下面两
         条语句。 device=emm386.exe dos=umb

        lh [程序] /l:区号    将程序装入指定的umb区

        lh /s          一般是由memmaker专用

[例  子]  C:\MOUSE\>lh mouse  将鼠标驱动程序装入高端内存

memmaker    内存优化管理

[适用场合]  这个命令现在已经很少用了,在当年DOS流行时,想玩游戏可少不了
         它,它可以腾出许多基本内存供游戏使用,只需安装一次即可

[用  法]  1. C:\>memmaker

        2. 回车继续,F3退出

        3. 选择手动安装和自动安装,直接回车表示自动安装(回车得了)

        4. 选择是否有程序需要扩充内存,可用空格键选择,Yes表示需要,
         No不需要,按回车键即可。

        5. 程序自动检测硬盘内是否安装了WINDOWS

        6. 软驱中若有软盘则应将其取出,然后按回车键,电脑将重新起动
         两次,不要中断,只需按回车键。

        (其实很简单,一直按回车键就行了)

24.msd  undelete
msd      系统检测
[适用场合]  用于检查系统信息

[用  法]  1. C:\>msd 回车后可见到如下画面,在每个选项旁边加了注解,表
         示该按钮的功用



        2. 选择需查询的项目,比如选第一个Computer,将会弹出一个对话框
         显示电脑的一些基本信息。你可以试试其他的选项,看看有什么用。


        3. 按Alt+F键激活下拉菜单后, 选择"Exit"项退出。

undelete    恢复被删除的文件

[适用场合]  当不小心删错了文件时,它可以用得上。

        DOS删除文件时,只是将文件从分配表中去除,在磁盘存储区内将文
         件名的第一个字母删除,文件内容并未马上从磁盘中删除,所以能恢
         复。

[用  法]  undelete       恢复已删除的文件

        undelete /all   恢复文件且不再询问是否恢复,      
         以"#%&-0123456789abcdefghijklmnopqrstuvwxyz"的顺序为第一个
         字母来恢复文件

        undelete /list  列可恢复的文件名

        undelete /s    可将undelete驻留内存,但几乎没人这样使用。

25.prompt   restore命令

prompt    设置提示符
[适用场合]  当你厌烦了c:\>的提示符或者您想使您的提示符与众不同时,您可以
         试一试,非常有趣的DOS命令,可以随时显示时间与日期。

[用  法]  prompt $p$g 以当前目录名和>号为提示符,这是最常用的提示符

        prompt $t 表示时间      prompt $d 表示日期

        prompt $$ 表示$        prompt $q 表示=

        prompt $v 表示当前版本    prompt $l 表示<

        prompt $b 表示|        prompt $h 表示退位符

        prompt $e 表示Esc代表的字符  prompt $_ 表示回车换行

[例  子]  C:\DOS>prompt wang$g 将wang>作为提示符

        WANG>prompt $t$d$g  使用时间、日期和>号做为提示符

        0:01:07.77Thu 08-29-1996>prompt $p$g

        C:\DOS>

restore    恢复已备份的文件

[建  议]  如果以前用backup做过文件备份,则当原文件损坏时可以用它来恢复
         文件。

        将用backup命令备份的磁盘中的文件恢复到另一磁盘中,备份磁盘中
         应有backup.00X和control.00X这两条文件。

[用  法]  restore [备份盘符] [目标盘符]

        将备份盘上备份文件恢复到指定盘上

        restore /s     将备份文件包括子目录都恢复到指定盘上

        restore /p     让用户判断是否恢复文件

        restore /b:日期  恢复日期以前的文件

        restore /a:日期  恢复日期之后的文件

        restore /l:时间  恢复时间之前的文件

        restore /e:时间  恢复时间之后的文件

        restore /m     只恢复上次备份后修改过的文件

        restore /n     只恢复上次备份后已删 除的文件

        restore /d     只显示要恢复的文件名

[例  子]  C:\DOS>restore a: c:
         Insert backup diskette 01 in drive A:
         Press any key to continue . . .

        在A驱中放入第一张备份盘,按任意键即可,恢复完第一张后,按顺
         序放入其它盘即可。

        当您用上述命令不能正确恢复文件时请用:

        C:\DOS>restore a: c:\ /s

26.DOS快速入门

学好DOS(磁盘操作系统)是学会使用和操作微电脑的第一步,但是,许多初学者由于从未接触过计算机,因而影响了进一步的学习。根据多年的教学经验,我认为,将计算机的一些知识和我们日常生活中的一些概念结合起来理解和记忆,有良好效果。
一、关于DOS命令的格式
计算机是由人设计制造的,因而要让计算机完成某一特定操作,必须向计算机发出相应的命令。这就如同领导向下级发指示一样。为了便于操作,人们特意为DOS制定了统一的命令语法格式:
[d:][path\]命令词[参数][开关符/]
其中:[d:]为盘符,可为A、B、C、D盘;
[path\]为路径,可为根目录或子目录;
[参数]用来指示命令操作的对象和目标,包括[d:][path\]<文件名>三部分;
[开关符/]由“/”加一个英文字母或数字,是命令的附加功能。
这一语法格式同我们汉语的语法一样,届时你只能按照这一语法来写文章,否则就会出问题,犯语法错误。比如:主谓宾是一个最典型的汉语语法,“我们学习电 脑”符合这一语法规定,但是如果写成“学习我们电脑”或“我们电脑学习”就使人无法理解,难以接受。因此,我们在操作DOS命令时,也必须严格按照DOS 的命令语法执行,来不得半点差错。上面的DOS命令语法格式既适用于DOS的外部命令,又适用于DOS的内部命令。
二、关于DOS中的一些关键词语
学习DOS其实并不难,若在操作时发生错误,计算机均会显示出相应的出错信息或提示信息。初学者之所以难于掌握,是因为他们大多不识英文单词,或不懂计算 机专用术语。但是,在使用计算机时,若能抓住一些关键词语,那么,你便能大体了解出错信息或提示信息的内容,从而根据这些信息作出判断和处理。比如:若文 件找不到,电脑会提示:File not Found(文件没有找到);若键入的命令有问题,电脑会提示:Bad COMMAND(错误的命令),若路径出错,电脑会提示:Invalid path(无效的路径)。下面的DOS关键词将有助于初学者在较短时间内理解和掌握DOS的提示信息。
名词:File(文件) Directory(目录) path(路径) Command(命令) Disk(磁盘) System(系统) Drive(设备) Name(名字) Data(数据) Date(日期) Time(时间)
形容词:Bad(坏的) invalid(无效) error(错误)
动词:Found或Find(寻找) Boot(引导)
其它:not或non(没有) and(与) or(或者) Cannot(不能)

27.DOS基本概念

早期的计算机系统通常由中央处理器(CPU)、内存、外部设备等部件组成,用户往往独占了计算机的所有资源。例如计算机通过打印机打印时,其它设备都在等待,这样计算机的使用效率很低,用户等待的时间很长。
随着计算机的不断发展,尤其是计算机各种软件的新发展,出现了专门用来解决以上问题的系统软件——操作系统。操作系统的任务是:
(1) CPU管理——合理地将CPU分配给各个任务。
(2)存储器管理——合理分配存储器。
(3)外部设备管理——合理使用外设。
(4)信息管理——自动管理文件。
使用了操作系统后用户所面向的不再是一部裸机(计算机硬件),而是面向操作系统,操作系统就成为用户与裸机的接口。
DOS是最基本的操作系统软件, DOS是英文Disk Operation System的简称。微型计算机所使用的DOS操作系统主要是美国Microsoft公司开发的MS-DOS和IBM公司开发的PC-DOS。DOS操作系统软件从1981年诞生起,已经历了一个不断改进、不断完善的发展过程,它的版本也从最初的1.0,逐渐发展到至今已广泛使用的5.0、6.0、6.22等。这里介绍的MS一DOS6.22版,包括了许多新颖的、功能强大的命令。
DOS系统的功能
一个计算机系统的各部分要协调工作,充分发挥其效率,需要有一个管理者来合理地调度它的各种资源---硬件和软件资源, DOS操作系统就是这样一个管理者。
计算机系统中的资源通常分为四类:处理器(CPU)、存储器,外部设备和信息。DOS操作系统具有这四大资源的管理功能。
早期的PC系列微机使用的CPU的型号是8088 (8086),近十多年来,陆续问世的80286、80386、80486和80586(又称PENTIUM,中译名为“奔腾”)功能越来越强。DOS 6.22支持所有上述的CPU。
使用8088或8086CPU的微机,受当时条件的限制,对内存进行存取的能力限制在1MB,内存中的RAM的容量一般为640KB,早期的DOS版本都是针对上述硬件进行设计的。
虽然,先进的CPU能管理的内存范围已达到16MB (80286)和4096MB(80386、80486), DOS的版本也升级到5.0、6.0、6.2…,但是,为了保持与低版本的DOS兼容,DOS仍然把用户能直接使用的内存空间限制在640KB,这640KB内存又称为基本内存。
DOS系统的启动
1. DOS系统的组成
DOS系统是由软盘或硬盘提供的一组重要程序组成的。DOS系统的核心由三个启动模块和一个引导程序(Boot)组成,三个启动模块分别是输入输出模块(IO.SYS)、文件模块(MSDOS.SYS)和命令处理模块(COMMAND.COM)。引导程序的作用是在计算机启动时将两个隐含的DOS启动模块IO.SYS和MSDOS.SYS装入内存。IO.SYS的主要作用是管理输入/输出设备。MS-DOS.SYS的作用是对磁盘文件和系统资源进行管理。COMMAND.COM是整个DOS系统最外层的模块,它的任务是对用户输入的命令进行解释并执行。
2. DOS系统的启动
要使用磁盘上的DOS系统,必须把DOS系统调入计算机的内存储器,这就称为DOS系统的启动。
除了在开机时需要启动DOS以外(这种启动,一般称为冷启动),在微机运行中,如果由于某种原因,微机运行处于“死循环”或其它“死机”情况,也需要重新启动DOS (这种启动,一般称为热启动)。按(Ctrl)十(Alt)十(Del)键可重新启动DOS。有的微机面板上配有一个按钮(Reset),按该钮也可重新启动DOS。
DOS的启动可以分成从软磁盘(A驱动器中)启动和从硬盘(也称为C盘)启动两种。对装有硬盘的微机,可通过对CMOS的修改,设定这两种途径的优先次序。如果设定的优先次序为“A:,C:”,则启动时先在驱动器A中查找有无DOS系统,有则从A盘启动,若无则从硬盘C中查找有无DOS系统;反之,若设定的优先次序为“C:,A:”,则启动时先从硬盘C中查找DOS系统,若无再从软盘A中查找。
在DOS文件中,还有两个重要文件,它们在同一启动盘的根目录中:
(1) config.sys是系统配置文件。用户用它可以预先规定内存的安排,等等,使系统的硬件更好地发挥作用。
(2) autoexec.bat是系统规定的启动时自动执行的批处理文件。它可
在用户进行键盘操作前自动执行一系列DOS命令(内部命令和外部命令),它可以设置系统环境变量、搜索路径、系统提示符、屏幕或打印机模式,还可以启动用户程序。
(3)以80286、80386、80486为CPU的各种微机的主机内部装有高能电池,在关机后,时钟能继续运行,在开机时能自动读出日期和时间。
【例】用软盘启动DOS
(该盘上没有autoexec.bat文件)。
把启动盘插入A驱动器并关上门。
开机后屏幕上显示如下信息:
Current date is Wed ll-24-1993
Enter new date (mm一dd一yy ) :
如果显示日期和当天日期有误差,则可输入正确值(按格式:月-日-年)后按回车键加以校正,否则直接按回车键即可。询问日期后,屏幕上显示如下信息:
Current time is 11:52:50.38a
Enter new time :
可同日期操作一样处理询问时间的操作。
启动正常结束的标志是屏幕上出现DOS提示符A:\>,这表示微机目前处于DOS系统的控制下,等待用户输入命令。字母“A”则表示“当前盘”是A盘。在微机配备了一个以上的磁盘驱动器时,如A盘、B盘、C盘时,将某个盘设置为当前盘的命令是:
d:(回车)(d:为盘符)
如要将当前盘从A盘转为C盘,应键人下列下划线部分:
A:\>C:(回车)
屏幕显示:
C:\>
【例2.1.2】用硬盘C启动DOS。
A驱动器门不要关。
开机后屏幕一般显示如下内容:
C:\>
文 件
在DOS操作系统下,磁盘上的信息都是以文件的形式存储和管理的。在计算机科学中,文件是指一组相关信息的集合,它可以是程序、数据、声音、游戏或其他信息,一般记录在存储介质(例如磁盘)上。每个文件都有自己的名字,称为文件名。需要使用某个文件时,只要指出相应的文件名, DOS系统就能准确无误地找到该文件,执行读、写等操作。
1.文件的命名
为了区别不同的文件,以便文件的执行、修改和查找, DOS操作系统规定文件名由文件主名和扩展名组成。其格式如下:
□□□□□□□□. □□□
小数点前可由1—8个字符组成,称为主名。小数点后可由0—3个字符组成,称为扩展名。
例如: G9401.DBF,这里G9401是主名,DBF是扩展名。文件主名和扩展名可以使用的字符是:
(1)英文字母:A—z(大小写等价)
(2)数 字:0—9
(3)汉 字
(4)特殊符号:$#&@()-[]^~等。
空格符、各种控制符和下列字符不能用在文件名中:
.”/\<)十:;,* ?
因为这些字符已做它用。
由于有一些名称在DOS中有特殊的意义,我们不能用它们做文件名,如:
CON—主控台(屏幕或键盘)
COM1—〉非同步通信传输口(串口)
文件的命名,除了一般应遵守DOS系统的约定以外,可由用户自行决定。为了方便管理和记忆,建议使用英语或汉语拼音中带一定含义的主名和扩展名。
如可用Letter01.txt表示序号为01的信件,用GZ9601.DBF表示某单位1996年1月份的工资数据库。
2.多义文件名和文件名通配符
一个文件名一般用以指定一个文件。在实际使用时,有时需要同时处理一批文件。例如,要一次复制好几个文件,或是列出一群相关的文件名称,我们可利用通配符“?”及“*”来处理,以使你能方便地达到目的。
(1)字符“?”:表示在该位置可以是任意一个字符。
(2)字符“*”:表示从它所在位置开始可以是任意字符串。

多义文件名 表 示 的 文 件

*.DOC test1.doc test2.doc
T*.* test1.doc test2.doc temp1.dot temp2.d te1.6a
?R*.* program1.prg program2.prg graph.img gra.img
PRO*.* program1.prg program2.prg
G??.* gl.dbf g.bas gra.img
GR?.* gra.mg
TE??1.* te8t1.doc temp1.dot
TEST?.* t68t1.doc t68t2.doc
*.?? te1.ba letter
3.文件的扩展名
DOS系统下的文件扩展名有些具有特殊的意义,有些可以由一些特定的软件自动生成。
特殊的扩展名: 扩展名 特殊的定义 COM 可执行的文件 EXE 可执行的文件 BAT 批处理文件 SYS 系统配置文件
特定软件产生的扩展名:

扩展名 特定的软件 BAK 备用文件,如字处理软件所保留的旧文件 BAS BASIC语言产生的程序文件 DBF dBASE(或FoxBASE)系统产生的数据库文件 PRG dBASE(或FoxBASE)系统产生的程序文件 DOC WORD字处理软件产生的文档文件 C C语言产生的程序文件
文件目录
1.树状目录
一张磁盘初始化时就建立了目录,这个目录称为磁盘的根目录,我们可以把文件依次放在根目录中。
随着磁盘技术的发展,磁盘容量越来越大,一张磁盘容纳成百上千个文件不再是困难的事。但是,把大量文件放在根目录内,会带来两方面的问题:
一是DOS系统建立的根目录所能容纳的最大文件数是有限制的, 360KB磁盘的根目录至多容纳112个文件,1.2MB和1.44MB磁盘则至多容纳224个文件;二是把大量文件集中在一个目录内显得杂乱无章,用户和DOS系统操作起来都不方便。
这就好像图书馆对图书的管理一样:如果对购进的书按购进的次序编号,就会给查找等工作带来诸多不便,所以图书馆把图书分成语文、数学、外语等大类,语文类又可再分成小学、中学等小类进行管理,它的形状好像一棵倒挂的树。
同样, DOS系统采用了树状目录结构,即DOS系统不仅允许在目录中存放文件,而且允许在一个目录中建立它的下级目录,称为子目录;如果需要,用户可以在子目录中再建立该子目录的下级目录;……。这样在一个磁盘上,它的目录结构可能是由一个根目录和若干个子目录以及子目录的子目录……所构成的。
有了树状目录结构,我们常把同一应用系统的文件集中在一个子目录中,或者把同一个类型的文件集中在一个子目录中,或者为不同的用户设立不同的子目录,各人使用各自的子目录,互不干涉。
2.文件标识符
有了树状目录结构,在一个盘中要指明一个文件,不仅要给出该文件的文件名,还应给出该文件的路径——查找途径。当你要计算机做事时,你就要告诉计算机从何处去拿,然后放在何处,这就好像你寄信时在信封上写上收信人与写信人的地址,而不能光写姓名。 DOS中路径是指从根目录(或者当前目录)开始,到达指定的文件所经过的一组目录名,如果路径中的第一个符号是反斜杠(“\”),则其表示根目录。各个目录名之间也用反斜杠(“\”)相互分隔,
在一台微机上,往往安装几个驱动器,这样, DOS在进行文件操作时要指明一个文件,必须给出如下三要素:盘符、路径、文件名,这三个要素组成了一个文件的文件标识符。文件标识符的一般形式为:
「盘符」「路径】(文件名)
路径和文件名之间一般也用反斜杠(“\”)分隔。

根据文件标识符的概念,不难理解:
(1)在同一个目录(即相同的路径)中,DOS不允许两个文件同名。
(2)在不同的路径中, DOS允许两个或更多文件同名。
这就好像同一大楼中不许两套房间采用同样编号,但允许在不同大楼中的两套房间采用相同的编号。
DOS系统在建立子目录时把它作为一个特殊的文件来对待,因此要指明一个子目录也有三个要素:盘符,路径,子目录名。目录标识符的一般形式为:
[盘符」[路径」(子目录名)
路径和子目录名之间一般也用反斜杠(“\”)分隔。
在建立了树状目录的磁盘上,存在许多不同的目录,有根目录、一级子目录、二级子目录、……,其中有一个目录被称为当前目录(对文件来说,称为当前路径)。那么如何识别当前盘、当前目录呢?如果执行了DOS命令PROMPT $P$G(这个命令在操作系统 中介绍)后,提示符“>”前的一串字符中的第一个字母即为当前盘,冒号到提示符“>”前的一串字符即为当前目录。

28.DOS出错提示语对策

如果你不懂英文,是不是对经常出现的英文提示一筹莫展,当然最好的主意是你现在就开始学习英语,未来是互联网的世纪,而互联网上的大部分资料是英文的,不懂的话,就少了一种交流的手段。不过我想给出一些常见的错误提示给大家还是必要的,不懂的时候就来查一查吧。
[英文提示] Abort,Retry, Ignore,fail? [中  文] 退出,重试,忽略,取消? [原  因] 不能识别给出的命令、或发生了使命令不能执行的磁盘或设备错误,可能是磁盘损坏或软驱门没关。 [对  策] 按A键 彻底终止,并回到DOS提示符。
按R键 重复执行该命令。
按I键 继续处理,忽略错误,非常冒险,建议不要采用
按F键 不执行有问题的命令,继续下述处理。有时会用到。
[英文提示] Access Denied [中  文] 拒绝存取 [原  因] 试图打开一个标记为只读、存贮在写保护的磁盘上或锁定在网络上的文件。如果在子目录上使用“Type”命令,或在文件上使用“CD(chdir)”命令,也会产生这个信息。 [对  策] 应该用“Attrib”命令删除文件的只读状态或从磁盘中去掉写保护,然后再试试。
[英文提示] Bad Command or file name [中  文] 错误的命令或文件名 [原  因] 不能识别输入的命令 [对  策] 应该检查以确保输入命令的正确性 确认在指定目录或用Path命令指定的搜索路径上能找到命令文件。
[英文提示] Boot error [中  文] 引导错误 [原  因] 在引导时检测不到应该的外设。 [对  策] 应该检查计算机的设置参数,如用户自己不能解决这个问题,请找专门维修人员。
[英文提示] Cannot find system files [中  文] 不能找到系统文件 [原  因] 试图从没有包含系统文件的驱动器上装入操作系统。 [对  策] 应该用sys命令将系统文件复制到根目录中。除非真的是不能恢复系统文件了,才可用Format/s命令重新格式化磁盘。
[英文提示] Cannot load command,system halted [中  文] 不能加载command,系统中止 [原  因] 应用程序覆盖了内存中的所有或部分Command。 [对  策] 应该重新引导计算机,检查被应用程序修改过的数据是否完整,如必要可将Command复制到子目录,这样退出应用程序时DOS可在这儿找到Command。
[英文提示] Cannot read file allocation table [中  文] 不能读到文件分配表 [原  因] 文件分配表已坏。 [对  策] 如仍能找到一些数据,那么将它们都备份到一张空盘中,也可利用Chkdsk命令修复文件分配表,如需要,可重新格式化磁盘。如果问题重复发生,那么应该修理驱动器或更换驱动器。 [英文提示] Divide Overflow [中  文] 分配溢出,除零错误 [原  因] 程序可能编写有错误,未调试好,也可能是与内存中的其它程序冲突。 [对  策] 检查内存中的其它程序或不再使用此程序。
[英文提示] Drive Not Ready Error [中  文] 驱动器未准备好 [原  因] 没有该驱动器或未放磁盘。 [对  策] 检查磁盘或更换磁盘。
[英文提示] Duplicate File Name or File Not Found [中  文] 文件重名或未找到 [原  因] 给文件起名字时与以有的文件重名了或是在对文件操纵时根本就没这条文件。 [对  策] 更换名字或是检查文件名的拼写。
[英文提示] Error loading operating system [中  文] 引导操作系统错误 [原  因] 操作系统文件找不到或已损坏。 [对  策]
用SYS命令将操作系统文件拷贝到该驱动器,如需要,可将config.sys和autoexec.bat文件拷贝到根目录中。

如不能恢复系统文件,那么从软盘引导系统,备份数据,用Format/s命令重新格式化磁盘。


[英文提示] EXEC failure [中  文] 文件执行失败 [原  因] 应用程序的可执行文件包含影响处埋的错误,或者由于早已打开了太多的文件而不能打开该文件,文件可能与当前的DOS版本不兼容。 [对  策] 检查DOS的版本,如版本正确,可通过编辑Config.sys中的Files命令来解决这个问题。
[英文提示] File allocation table bad [中  文] 文件分配表已损坏 [原  因] 很多原因,例如病毒发作,突然停机,不正常关机等都能破坏分配表 [对  策] 将所能找到的数据备份到空盘中,不要覆盖以前的备份。也许可通过引用Chkdsk命令来解决这个问题。如需要,重新格式化软盘,如问题反复,那么将驱动器送去修理。
[英文提示] File cannot be copied onto itself [中  文] 文件不能拷贝成自己 [原  因] 你在源文件和目标文件中指定了相同的文件,或是忘了写文件名。 [对  策] 按需要改变源或目标文件,然后再试试看。
[英文提示] File creation Error [中  文] 文件建立错误 [原  因] 可能是在磁盘中没有足够的空间为用户要创建的文件、想创建的文件早已存在,且为只读文件或是想利用早已存在的文件名来更换文件的名字。 [对  策] 可以换个盘,或使用别的目标名、别的目标位置,或者使用Attrib命令除去文件的只读属性。
[英文提示] File not found [中  文] 文件未找到 [原  因] 在当前目录或由Path、Append命令指定的任一目录中找不到文件,或者指定的目录是空的。 [对  策] 检查文件名的拼法和位置,如需要改变搜索路径。 [英文提示] General failure [中  文] 通用失败 [原  因] DOS不能判断错误的原因,一般是因为驱动器中的磁盘未格式化,或格式化成非DOS系统。 [对  策] 应该重新格式化磁盘。
[英文提示] Incorrect DOS version [中  文] DOS版本不符 [原  因] 输入了一个不同版本的外部命令。 [对  策] 用setver设置版本或者使用正确的可执行文件。
[英文提示] Insufficient Disk Space [中  文] 磁盘空间不足 [原  因] 磁盘中已没有可用的空间来拷贝文件或创建文件。 [对  策] 可以删除一些无用的文件或更换一个大一点的磁盘。
[英文提示] Insufficient memory [中  文] 内存不足 [原  因] 没有足够内存来处理用户所输入的命令,一般指基本内存。 [对  策] 应删去一些内存驻留的文件或对内存做优化管理。还可以给系统增加更多的内存,以适应应用程序。
[英文提示] Invalid directory [中  文] 非法目录 [原  因] 输入了无效的目录名或不存在的目录名。 [对  策] 检查目录的拼法。
[英文提示] Invalid Drive Specification [中  文] 无效的驱动器定义 [原  因] 根本没有这个驱动器,可能是拼写错误。若是不能指定光驱,可能是没有安装驱动程序。 [对  策] 重新安装光驱。
[英文提示] Invalid filename or file not found [中  文] 无效的文件名或文件未找到 [原  因] 输入的文件名包含了无效字符或通配符,或者将保留设备名用作文件名。 [对  策] 利用不同的文件名试试。
[英文提示] Invalid Media,track 0 Bad or Unusable [中  文] 无效的格式,0磁道损坏或不可用 [原  因] 一般是磁盘损坏。 [对  策] 更换磁盘。
[英文提示] Invalid parameter [中  文] 无效的参数 [原  因] 在命令行中没有指定正确的参数、或者有重复、禁止的 参数。 [对  策] 检查命令输入时的拼写或语法。
[英文提示] Invalid partition table [中  文] 无效的分区表 [原  因] 硬盘分区信息中有错误。 [对  策] 应备份所能找到的数据,运行Fdisk来重新设置硬盘分区。
[英文提示] Invalid path,not directory,or directory not empty [中  文] 无效的路径,非目录,或目录非空 [原  因] 系统不能定位指定的目录,或者用户输入了文件名来代替目录名,或者目录中包含文件(或子目录),不能被删除。 [对  策] 检查目录名的拼法,如果目录为空,那么它可能包含隐含文件,使用Dir/ah命令来显示任何可能的隐含文件,用attrib改变属性,删除之。
[英文提示] Invalid syntax [中  文] 无效的语法 [原  因] 系统不能处理用户输入的语法格式。 [对  策] 应查阅正确的文件格式再试试。 [英文提示] No fixed disk Present [中  文] 没有硬盘 [原  因] 系统不能检测到硬盘的存在。 [对  策] 应检查设置的驱动器类参数,如果不能解决这个问题,那么送去修理。
[英文提示] Non-System Disk or Disk Error [中  文] 非系统盘或磁盘错误 [原  因] 系统在当前盘中找不到系统文件。 [对  策] 应插入包含系统文件的磁盘,或者重新引导计算机。
[英文提示] Not enough memory [中  文] 内存不足 [原  因] 见Insufficient memory [对  策]
[英文提示] NOT READY,READING DRIVE X [中  文] 驱动器X未准备好 [原  因] 在指定的驱动器中没有盘或门没关。 [对  策] 插入磁盘到指定驱动器或关上驱动器门。
[英文提示] Program too big to fit in memory [中  文] 重新太大不能载入内存 [原  因] 见Insufficient memory [对  策]
[英文提示] Required Parameter missing [中  文] 缺少必要的参数 [原  因] 见Invalid Parameter [对  策]
[英文提示] Too many open files [中  文] 打开的文件太多 [原  因] 超过系统规定的打开文件数目。 [对  策] 应在Config.sys文件中用Files命令增加最大数目,并重新引导计算机。
[英文提示] Unrecognized command in CONFIG.SYS [中  文] config.sys中有不可辨认的命令 [原  因] 在引导系统时,不能识别Config.sys文件中的命令 [对  策] 应编辑config.sys文件,修正无效的行。
[英文提示] Write fault error [中  文] 写失败错误 [原  因] 系统不能在磁盘上写数据。 [对  策] 将磁盘取下再重新插好试试,仍然不行则运行Chkdsk或Scandisk,如磁盘不能恢复,扔掉它。
[英文提示] Write protect error [中  文] 写保护错误 [原  因] 磁盘上有写保护 [对  策] 取下磁盘,去掉写保护,再试试。

29.DOS常用命令

要想操作使用DOS,知道一些常用命令是非常重要的。以下是一些命令的用法。

文件名是由文件路径和文件名称合起来的,如C:\DOS\COMMAND.COM。

DIR 显示文件和文件夹(目录)。
用法:DIR [文件名] [选项]

它有很多选项,如/A表示显示所有文件(即包括带隐含和系统属性的文件),/S表示也显示子文件夹中的文件,/P表示分屏显示,/B表示只显示文件名,等等。
如 DIR A*.EXE /A /P
此命令分屏显示当前文件夹下所有以A开头后缀为EXE的文件(夹)。

CD 或 CHDIR 改变当前文件夹。
用法:CD [文件夹名]
若无文件夹名则显示当前路径。

MD 或 MKDIR 建立文件夹。
用法:MD 文件夹名

RD 或 RMDIR 删除文件夹。
用法:RD 文件夹名
注意:此文件夹必须是空的。

DEL 或 ERASE 删除文件。
用法:DEL/ERASE 文件名

COPY 拷贝文件。
用法: COPY 文件名1 [文件名2] [选项]
如 COPY /B A+B C
此命令将两个二进制文件A和B合为一个文件C。

TYPE 显示文件内容。
用法:TYPE 文件名

REN 或 RENAME 改变文件名和文件夹(目录)名。
用法:REN 文件(夹)名1 文件(夹)名2

EDIT 编辑文件,在MS-DOS 7.x中还可以编辑二进制文件和多个文件。
用法:EDIT [文件名] [选项]
如 EDIT /70 C:\COMMAND.COM
此命令以二进制方式编辑C:\COMMAND.COM文件。

FORMAT 格式化磁盘。
用法:FORMAT 驱动器 [选项]

它的选项很多,如/Q是快速格式化,/U表示无条件格式化(即无法使用UNFORMAT等命令恢复),/V指定磁盘的卷标名,等等。它还有许多未公开参数。

MEM 显示内存状态。
用法:MEM [选项]

它的选项也有不少,如/C可列出所有程序的内存占用,/D是显示驻留内存的程序及设备驱动程序的状态等详细信息,/F显示空闲的内存总量,/M显示内存中的模块信息,/P则是分屏显示。还有隐藏的/A选项,可以显示HMA信息。

MOVE 移动文件或文件夹,还可以更改文件或文件夹的名称。
用法:MOVE 文件[夹]1 文件[夹]2
如 MOVE C:\*.EXE D:
此命令 可以将C盘根文件夹下所有扩展名为EXE的文件移到D盘上。

XCOPY 复制文件或文件夹。
用法:XCOPY 文件[夹]名1 [文件[夹]名2] [选项]

它的选项非常多,如/S可拷贝整个文件夹(包括子文件夹)中的文件,/E指定包括空文件夹,/V表示复制完后检验复制出的文件的正确性,/Y表示确认,等等。

CLS 清除屏幕。
用法:CLS

SYS 传导系统,即将系统文件(如IO.SYS等)从一处传输到指定的驱动器中。
用法:SYS 文件夹名 [驱动器]
如 SYS C:\DOS A:
此命令即可将位于C:\DOS文件夹下的系统文件传输到A盘中。

DATE 显示或设置日期。
用法:DATE [日期]

TIME 显示或设置时间。
用法:TIME [时间]

DOS还自带一些其它的命令,如SORT(排序),FIND(寻找字符)等。

除DOS自带的命令以外,还有很多其它的增强命令也非常实用,它们可以大大增强DOS的功能。这些软件中有很多可以在“DOS软件”中下载。

30、DOS不常用命令

1、dblspace.sys 磁盘压缩。
drvspace.sys、dblspace和drvspace 是Microsoft公司推出的磁盘压缩工具,可以将磁盘的空间增加许多,但由于它依靠对文件进行压缩算法处理后再保存的方法,所以在存盘和使用文件时会降低速度,我们并不建议使用,因为对于高档电脑本身就带很大的硬盘,没必要增加这些有限的空间;而对于早期的低档电脑,本身速度又很慢,如果加上磁盘压缩,速度会变得更慢,实在是得不偿失。而且现在硬盘价格不断降低,硬盘每兆(Mbtyes)字节的价格甚至低于软盘了,所以在速度为最重要的电脑中,压缩磁盘意义不大。

2、ramdrive.sys 虚拟盘。

  在内存中开辟出一部分作为磁盘使用,这个虚拟盘具有内存的高速度,但容量不可能大并且关机后信息便消失,必须将信息提前写入硬盘。对于经常频繁的读写硬盘的用户可以起到保护硬盘的作用,但在一般的用途中不必使用(某些旧式中文DOS需使用ramdrive)。

  只要在config.sys中加入device=ramdrive.sys就可使用虚拟磁盘了。

比如:
   device=c:\dos\ramdrive.sys 1024 /e
表示在扩展内存中建立1M的虚拟磁盘。如果加/a参数,则表示在扩充内存中建立虚拟磁盘。

3、Msav杀毒程序和Msbackup备份工具

Msav 此杀毒程序能杀上千种病毒, 但如果它告诉你电脑中无病毒存在,请千万不要相信,请还是使用KV300或其它杀毒软件。

Msbackup 备份工具,一个非常不好用的备份程序。

Dosshell DOS外壳,在DOS6.2以后的版本中它已不作为基本操作系统中的一部分出现,如果学会了Windows,您完全可放弃学习Dosshell,不过它是一个非常好玩的程序,可以在文本或图形方式下使用。

31.DOS常识

学DOS也不仅仅是为了操作,在学习的同时也可以掌握一些基础的概念,使以后的操作更有正确的依据。我发现大多数电脑初学者由于对概念的模糊,使得其操作时往往张冠李戴。为了帮助广大电脑用户成为电脑高手,我们现在一起来踏上DOS之路。
一、DOS使用常识
DOS(Disk Operating System)是一个使用得十分广泛的磁盘操作系统,就连眼下流行的Windows9x/ME系统都是以它为基础。
常见的DOS有两种:IBM公司的PC-DOS和微软公司的MS-DOS,它们的功能、命令用途格式都相同,我们常用的是MS-DOS………
DOS使用常识
DOS的概况
DOS(Disk Operating System)是一个使用得十分广泛的磁盘操作系统,就连眼下流行的Windows9x/ME系统都是以它为基础。
常见的DOS有两种:IBM公司的PC-DOS和微软公司的MS-DOS,它们的功能、命令用途格式都相同,我们常用的是MS-DOS。
自 从DOS在1981年问世以来,版本就不断更新,从最初的DOS1.0升级到了最新的DOS8.0(Windows ME系统),纯DOS 的最高版本为DOS6.22,这以后的新版本DOS都是由Windows系统所提供的,并不单独存在。下面的讲解所使用的DOS为Windows98 4.10.2222A的DOS7.0系统。
DOS的基础知识
1)DOS的组成
DOS分为核心启动程序和命令程序两个部分。
DOS的核心启动程序有Boot系统引导程序、IO.SYS、MSDOS.SYS和COMMAND.COM。它们是构成DOS系统最基础的几个部分,有了它们系统就可以启动。
但 光有启动程序还不行,DOS作为一个字符型的操作系统,一般的操作都是通过命令来完成。DOS命令分为内部命令和外部命令。内部命令是一些常用而所占空间 不大的命令程序,如dir、cd等,它们存在于COMMAND.COM文件中,会在系统启动时加载到内存中,以方便调用。而其它的一些外部命令则以单独的 可执行文件存在,在使用时才被调入内存。
(小知识:可执行的程序文件有*.COM和*.EXE两种,一般来讲,*.EXE文件为软件执行程序,而*.COM文件则为命令程序)
2)DOS的系统提示符
DOS启动后,会显示"C:>"以及一个闪动的光标,这及是DOS的系统提示符,它表示了当前所在的盘符和目录,我们可以输入"[盘符] :"来进行转换,如"A:"、"E:"。这里要注意输入的盘符一定要是存在的。
(小知识:盘符从A到Z,通常A、B盘为软驱,硬盘的盘符从C开始,而光驱的盘符为最后一个)
3)文件及目录
电脑中的数据主要都是以文件形式存储的,也可以说DOS以文件的形式来管理数据。
文 件是相关数据的集合,若干数据聚集在一起组成一个文件。每个文件都有文件名,文件名由主文件名和后缀名两部分组成,中间有小圆点隔开。DOS6.22及其 以前版本最多仅支持8个字符的主文件名和3个字符的后缀名,而从Windows 95的DOS7.0开始就可支持128个字符的主文件名和后缀名。字母、汉字、数字和一些特殊符号如"!、@、#"都可以作为文件名,但不能有"/、\、 |、:、?"等符号。
通常我们可以通过文件的后缀名看出该文件的类型,比如:

后缀名 文件类型
EXE 可执行程序文件
COM 可执行命令文件
BAT 可执行批处理文件
TXT 文本文件
DAT 数据文件
BAK 备份文件
为 了方便用户进行操作,DOS还允许使用通配符。所谓通配符,就是"?"与"*"这两个符号,它们可以用来代替文件名中的某些字符。"?"代表一个合法的字 符或空字符,比如"AB?D.EXE"文件就可以表示"ABCD.EXE"、"ABDD.EXE"、"ABZD.EXE"等。
而"*"则代表若干个字符,如"*.BAT"就代表当前目录下所有后缀名为"BAT"的文件。
DOS 以目录树的形式管理磁盘,这里的目录就相当于Windows中的文件夹。和文件夹一样,目录也是一层一层的,构成一个树的形式。在一个盘符中最底层的目录 为根目录,根目录下的目录都称为它的子目录,根目录用"\"表示,一个目录的上一层目录用".."表示。我们可以通过路径来查找某一个文件或目录,路径就 如同地址一样,可以使用户方便、准确地进行查找。比如"C:\Windows\Command\deltree.exe"就是一个文件的路径。

32.DOS硬件支持配置

由于电脑的普及和应用的日益深入,为了满足人们的需要,电脑的功能随着它的发展变得越来越强大,硬件设备也越来越多,如从原来的ISA及PCI声卡、调制解调器等到现在的USB硬盘、鼠标等,而且品牌多种多样。那么,我们应该如何在DOS下使用与设置这些设备呢?

其实有很多硬件设备在DOS下不需安装任何的驱动程序,只要硬件或将BIOS设置好就可使用,如键盘,普通的硬盘和支持PCL(打印机控制语言)的打印机 等。在DOS下使用支持PCL的打印机非常容易,因为打印机连接在并行端口(LPT)上,所以通常LPT1或PRN就是打印机端口。比如COPY C:\CONFIG.SYS LPT1命令(当然也可直接使用PRINT C:\CONFIG.SYS命令)就可将C:\CONFIG.SYS文件中的内容用打印机打印出来。大家看,是不是很方便呢?当然,要在一些DOS应用程 序中打印出更好的效果(如各种字体,图像等),还需要专门的打印机驱动程序,在这些应用程序中的“打印机设置”中选择合适的打印机即可。

和打印机类似的是调制解调器。调制解调器是电脑拨号上网时的必用设备,分为内置和外置两大类。外置调制解调器通常接在电脑的串行端口(通信端口COM) 上,如COM2。传统的内置调制解调器通常也可以自动虚拟串行端口,所以和外置调制解调器的使用相差不大。DOS下有大量与调制解调器有关的通信程序,如 果调制解调器接在COM3上,使用这些程序时使用COM3就行了。如果您想在DOS下用简单的命令测试一下调制解调器,可用ECHO ATDT12345>COM3(假设调制解调器连在COM3上),这时它就会拨号(12345),使用也非常方便。然而,随着硬件的发展,许多非传 统的新型调制解调器出现了。这些新型调制解调器没有硬件控制器,需要用软件虚拟,所以叫软件调制解调器,或叫WinModem。原来ISA接口的调制解调 器大多是传统的硬件调制解调器,而PCI接口的调制解调器则有许多是软件调制解调器。软件调制解调器和硬件调制解调器相比,由于没有硬件控制器,所以成本 要低些,但是性能自然要差些,而且需要驱动程序才可运行。所以,在DOS下必须装载相应的驱动程序才可使用。但由于这些调制解调器主要是为Win9x设计 的,所以大多都没有DOS下驱动程序,所以无法在纯DOS下使用,不过有很多调制解调器通过虚拟可在Win9x的DOS窗口下使用。

再谈谈大家经常使用的鼠标与光驱。由于鼠标和光驱较早就广泛使用了,所以DOS自带它们的驱动程序或扩展程序,如MOUSE和MSCDEX,不过 MSCDEX还需要光驱的自带驱动程序。然而,随着DOS的发展,这些程序已越来越不实用了,现已有很好的替代程序,如最新最好的鼠标驱动程序Cute Mouse(CTMOUSE)。CTMOUSE是一个仍在开发中的非常实用的鼠标驱动程序,和DOS自带的或其它鼠标驱动程序相比,它具有无可比拟的优 点,如速度非常快,占用内存非常小(才3.3K),通用性非常强,以及有多种语言显示(暂无中文,不过如果大家喜欢的话我可以去汉化)等优点,因此我强烈 推荐大家使用,可在“DOS软件”中下载。DOS下通用的光驱程序也有很多,如Win98自带的DOS启动盘中OAKCDROM等。但最好的是“驱动程 序”中的PTSATAPI.SYS或VIDE-CDD.SYS,因为它具有速度快,占用内存小(分别才占用2K和5K,而OAKCDROM需占30多K, 其它的则占得更多),通用性非常强(可驱动各种品牌非USB的CD-ROM/CD-R/CD-RW/DVD-ROM/DVD-R/DVD-RW,我所试的 光驱用它无一驱动失败)。具体的安装方法是在CONFIG.SYS中先用DEVICE(HIGH)命令加载此光驱驱动程序,然后再在 AUTOEXEC.BAT中加载光驱扩展程序MSCDEX.EXE,如:LH MSCDEX /D:CDROM1 /S /K。不过,如果您希望让系统自动安装设置光驱而不想手工配置的话,可运行VIDE-CDD.SYS中自带的全屏幕安装程序,这样就会觉得安装起来十分轻 松了。为了节省内存,还可以将CLOAKING与MSCDEX合用,这样可极大的减少MSCDEX的内存占用,大家可见本栏目中的“DOS下内存的配置” 及“CONFIG.SYS文件的命令与配置”以获得具体配置情况。至于USB的鼠标与光驱,请见下文。

现在电脑已进入了多媒体时代,故声音和图像都是不可缺少的,因此,声卡显得十分重要。那么,在DOS下如何使用声卡呢?在DOS下使用声卡最重要的一点是 需将BLASTER环境变量设置成正确的值,比如SET BLASTER=A220 I7 D1 H6 P330 T6等,其中A表示硬件地址,I表示中断号,D表示低端DMA,H表示高端DMA,P表示MPU401的地址,T表示声卡类型。A通常为220,I则主要 有5和7两种可能,P经常是330,T则对应着您的声卡的类型(T1表示SB 1.0,T2表示SB 1.5,T3表示SB 2.0,T4表示低版本的SB Pro及其兼容,如ESS688等,T5表示高版本的SB Pro,T6表示SB 16及其兼容,如SB AWE及SB PCI等)。对于ISA声卡,通常使用自动设置的值即可,比如ESS688声卡的默认值是A220 I5 D1 T4,也可以使用自带的设置程序如ESSCFG重新设置;对于PCI声卡,有的可以使用SB-Link技术,其它的大多可以使用自带的驱动程序虚拟ISA 声卡以使用,如SB PCI,SB Audigy,SB Live!,C-Media 8738,SiS 7018等PCI声卡的驱动程序可在“驱动程序”中下载,Yamaha及Aopen等声卡也可使用其自带的驱动程序以实现在纯DOS下使用PCI声卡,或 者在Windows的DOS窗口中使用。要想设置PCI声卡的设置参数,可以使用自带的设置程序,如SB Live!声卡的驱动程序中就有SBECFG命令,或者编辑它的配置文件,如SB PCI的驱动程序中的SBPCI.INI文件。

接下来就是网卡和显卡了。网卡的情况比较特殊,各网络环境需要各自的网卡驱动程序。对于ISA网卡,由于绝大多数是NE2000兼容,所以可以使用 NE2000网卡的驱动程序,可在“DOS软件”中下载。网卡自带的磁盘中多有很多文件夹,分别是各网络环境的单独驱动程序,如MSCLIENT或 NDIS2文件夹上是用于Microsoft Network Client(MSCLIENT)及LAN Manager的网卡驱动程序,NWCLIENT或DOSODI文件夹上则是用于Netware的网卡驱动程序。以Netware Lite为例,要启动IPX/SPX协议,需首先加载LSL.COM,然后是网卡的ODI驱动程序,如SIS900网卡的是SIS900.COM,加载完 后再运行IPXODI.COM即可。而对于MSCLIENT,SIS900网卡的驱动程序是SIS900.DOS,网络启动时会自动加载。当然,网卡还是 有个标准的用于DOS下上Internet的驱动程序,那就是网卡的Packet驱动程序。其具体的使用方法,可见本栏目中的“DOS下联网的方法”。对 于显卡,不像Windows,DOS下不需要专门的驱动程序即可显示高彩色甚至真彩色的文字及图像,但有显示扩展驱动程序,如VESA 3.0显示驱动程序Scitech Display Doctor等,可在“DOS软件”中下载。

然后就是USB硬件设备的使用了。许多人认为DOS下无法使用USB设备,其实不然。新的BIOS中就有“USB for DOS”功能,还有不少的DOS下USB设备驱动程序,如DUSE,USB_CD等,可在“DOS软件”中下载。以DUSE为例,这是一个DOS下通用的 USB存储设备的驱动程序,包括USB硬盘,光驱,软驱等,许多人利用它成功地驱动了自己的USB设备,如USB的CD-RW等;OHCI/UHCI则分 别为OHCI/UHCI类型的USB鼠标驱动程序;USB_CD则是一个单独的USB光驱驱动程序;USB4DOS则提供DOS下使用各种USB设备(如 USB打印机、USB数码相机等)的功能。不过我没有USB设备,所以还没有用过。欢迎大家使用它们,并将使用结果告诉我,谢谢!

近些年来还出现了不少新的硬件,DOS下也完全可以使用它们。以ATX电源为例,DOS下的一些软件就可以利用它来实现软关机,如ShutDown, PowerOff等命令,可在“DOS软件”中下载。DOS下用这些软件来实现软关机有很多好处,比如用在批处理文件中时可指定在运行完某程序后或在指定 的时间自动关机,还可以实现网络中的“远程唤起”等功能,好处多多。由此可见DOS的强大功能了。如果大家喜欢DOS的话,不如来参加“DOS开发”栏目 以开发出新的DOS软件,共同让DOS继续发展壮大吧!

33.纯DOS下长文件名的使用

DOS和Windows都是在不断地发展着的。最先支持长文件名的操作系统是Windows NT 3.5,随后Windows 95也采用了这种技术。然而,由于一些原因,MS并没有将长文件名功能加入到纯DOS中。不过,微软公司只是没有在纯DOS下提供LFN(长文件名)的应 用程序接口(API),而DOS本身是支持长文件名的。很多DOS7中自带的命令和最近几年来出现的许多新DOS软件(如现在很流行的DJGPP程序等) 只要发现LFN接口已经存在,就可以对LFN进行直接操作。因此,只要有一应用程序能提供纯DOS下LFN的接口,纯DOS下的长文件名就可以实现。

为了达到这一目标,很多人开始努力了。最早提供LFN API的是LFNDOS,因此最为有名。不过由于它早就停止了更新,所以有许多bug,而且曾一直不支持中文长文件名。幸好有个国人帮助LFNDOS的作 者写了个支持中文长文件名的子功能,所以它的最新版1.07版已经支持中文LFN了。LFNDOS有很多缺点,如速度慢,占内存大,还有许多问题,所以并 不是很实用。因此,有人决定另编一个LFN接口驱动程序,这就是DOSLFN。DOSLFN是由一个德国人所做,现在仍在开发中。它和LFNDOS相比, 最大优点就是速度快,占内存小,而且支持Unicode。它的最新版本是0.32o,它的作者在我的帮助下,现已全面支持中文长文件名了,包括 GB2312、Big5、甚至GBK字符集的中文长文件名。由于它的以上优点,使它成为一个相当强大实用的LFN接口驱动程序,可在本站的“驱动程序”中 下载。一旦有了长文件名接口,那么MS-DOS 7.x中的各种内部命令、外部命令,以及PKUNZIP等命令都将自动使用长文件名,非常方便。由于长文件名功能的实用性,“MS-DOS 7.10完整安装版”中已自动调用长文件名功能,这样DOS安装后就直接全面支持中英文长文件名了。注意MS-DOS 6.x中则不行,因为它太旧而不支持长文件名。

除LFN的API驱动程序以外,还有其它一些提供LFN支持的软件,如LFNDIR,作为DIR的增强工具,可以显示长文件名。但由于LFNDIR是个很 旧的软件,不支持FAT32分区和光盘,所以并不是很实用。最强大实用且有名的是Odi's LFN tools(可在本站的“文件工具”中下载),它包含一套长文件名工具,如LDIR,LCD,LRD,LDEL等,非常方便且稳定,全面支持 FAT12/16/32和光盘上的长文件名,可以当作纯DOS下操作长文件名的必备工具。还有一点很重要,那就是虽然MS-DOS本身不带有LFN支持, 并不代表所有的DOS都是这样。ROM-DOS 7.10就本地支持长文件名和FAT32,而不需任何其它程序。总之,DOS是真正支持长文件名的。

一些旧的磁盘工具(如NDD 8.0等)由于推出的时候长文件名还没有出现,所以不支持长文件名,如果使用的话可能会对长文件名造成破坏。不过,近年来推出的新的DOS软件几乎都支持 长文件名,一部分就像上文所提的那样可以直接使用长文件名,其它的则是“明白”长文件名的存在而不会造成破坏。所以,使用的时候最好使用这些新的DOS工 具,这样就可以与长文件名和睦共处了。

34.DOS今年发展--较之于linux

大家都听说过Linux操作系统吧!Linux诞生于20世纪的90年代初,于90年代末开始出名并在许多人中开始了实际使用。著名的“开放源代码”运动更是使新的Linux程序不断出现,使Linux得到了进一步的发展,尤其是在服务器领域得到了较大的应用。

那么大家所使用或喜爱的DOS呢?不知有多少人认为DOS已经过时,或者以为没有人为它开 发新的软件了。这显然是对DOS发展的不了解。其实,“开放源代码运动”是程序员们向非Windows的公开自身源代码的操作系统(包括DOS和 Linux等)设计新的公开自身代码的软件的运动,所以,在这场运动中,DOS和Linux的新软件都在不断大量出现,而且质量很高,而且发展团体都在不 断地壮大。可是,和国外相比,国内的新DOS软件推广远没有国外那么积极,而国内的Linux软件的推广似乎比国外要积极得多。很多人所说的DOS时代已 经过去,正确的说法应该是旧的DOS时代已经过去,而在现在新的DOS时代,不仅有着原来大批忠实的爱好者不断地为DOS编写新的实用的程序,而且和现在 的Linux一起随着“开放源代码”等运动继续发展着。那么为什么很多人不知道呢?起步站长在他的网站的首页上说:“我们(指国内网友们)普遍E文水平不 高,一般关于计算机状况的信息都是来源于新闻媒体,可能是有些人认为与DOS有关的东西不会再带来利益吧,DOS已经淡出了这些人和一些媒体的视线之外, 让许多的人都认为DOS已经过时。”这大概就是国内DOS不是很热门的主要原因吧!

其实,和Linux相比,DOS不管是在软件数量,用户基础和功能上都并不逊色, Linux拥有的功能DOS几乎都有(当然是加上近几年来推出的软件后相比),而且DOS还有许多Linux没有的功能。DOS和Linux都是开放的, 大家可以自由开发它们的软件。DOS软件的数量相当庞大,少说也有几十万个(比如DOS病毒就有4万多种),远远超过了Linux软件的数目。随着 Linux的发展和它的爱好者的支持,Windows的地位受到了挑战,但其实Linux只是用在高端服务器上比较合适,而不是用在台式机上。相反, DOS是最适合于个人用户的,不仅要求低,实用性强,而且它的总体功能并不比Linux差。如果从体积上比较,那Linux真是大得吓人,比如一份Red Hat Linux的安装盘就有四张光盘(当然,其中包括了一些驱动和应用程序)。所以DOS近几年来的发展落后于Linux主要是在于没有足够的宣传。所以,如 果大家认识到这一点,情形自然会大有改观。现在很多人将DOS作为Windows的附属品和学习收藏所用,而不像将Linux作为实际使用那样实际使用 DOS。由于大家的这种心态,使许多人也不愿意开发新的DOS软件,使本应处于积极发展时代的DOS反而显得越来越落后。这是多么可惜啊!

35.DOS系统之历史

DOS是个人操作系统上最多人使用也最流行的操作系统。其中最重要的MS-DOS从1981年推出的最早的1.0版发展至今,已经有了众多版本,功能越来越强大,也越来越实用。下面列出它的主要版本的发展。

MS-DOS 1.0 发行于1981年,作为IBM PC的操作系统,支持16K内存及160K的5寸软盘。

MS-DOS 1.1 更正了1.0版中的许多问题,支持320K的5寸软盘。

MS-DOS 2.0 于1983随IBM XT一起发行,增加了许多命令,并支持5M硬盘。

MS-DOS 2.1 在2.0的基础上增加了少许功能。

MS-DOS 3.0 增加了对新的IBM AT硬件以及部分局域网功能的支持。

MS-DOS 3.1 增加了更多局域网功能支持。

MS-DOS 3.2 支持720K的5寸软盘。

MS-DOS 3.3 支持新的IBM PS/2设备以及1.44M的3寸软盘,并支持其它语言的字符集。

MS-DOS 4.0 增加了DOSSHELL操作环境,并且有一些其它增强功能及更新。

MS-DOS 5.0 于1991年发行,新增了很好的内存管理和宏功能,增强了DOSSHELL。

MS-DOS 6.x 大量增加图形界面程序(如SCANDISK,DEFRAG,MSBACKUP等),增加了对586计算机,磁盘压缩等功能的支持,增强了对Windows的支持。

MS-DOS 7.0 增加了长文件名,LBA大硬盘等功能,增强了对新版Windows的支持,并加强了一些命令。

MS-DOS 7.1 全面支持FAT32分区、大硬盘、大内存等,并更新了一些功能,如四位年份的支持等,是目前最实用的DOS版本。

除MS-DOS外,其它的DOS也一直在不断发展中,尤其是FreeDOS、ROM-DOS、Real/32 DOS等等。让我们继续支持DOS的发展,以使得它更加强大实用吧!

35.如何恢复PDOS.DEF


PDOS95是WIN9x自带的MS-DOS 7.x中的汉字系统,尤其当手头没有UCDOS或天汇等其它汉字系统时,它是十分有用的。

一日,清理硬盘,将C:\PDOS.DEF当作垃圾文件删除了,当时并不在意,但几天后,执行PDOS95时,出现错误,错误信息中提示"Error:Can't find PDOS.DEF file in your root directory"(根目录中找不到PDOS.DEF文件),才发现问题的严重性,于是用Extract等工具打开Win98安装压缩包win98_27.cab,抽出pdos.def覆盖c:\下的原文件。用十六进制编辑器(如MS-DOS 7.xx中自带的EDIT命令,可用/nnn选项,注意要使用插入模式,千万不要使用普通的文本编辑器)打开pdos.def,将"c:\pdos"改写为"c:\windows\command",存盘退出,重新启动,终于能够使用了。

小结:无论遇到什么问题都要冷清思考,不要动不动就重装系统。另外,对自己不认识的文件,不要轻易删除,或者删除前做好备份,以防万一。

36.DOS环境变量

环境是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。

37.DOS系统安装

1.如果安装了Windows9X,无需再安装DOS了,可采用Windows9X自带的DOS7.X
2.如果安装了WindowsMe,不能开机进入DOS实模式,解决办法是安装 WindowsMe的DOS实模 式补丁
3.如果只安装过Windows2000/XP,一般认为不能再装DOS了,实际上是有办法的(以下是 http://chinados.126 的Wengier提供材料,我没试过),以Win2000为例,如果分区格式是FAT32,可以安装Windows97/98自带的DOS7.X,方法是:
(1)复制DOS启动文件:在Win2000环境中把Win98启动盘的IO.SYS,MSDOS.SYS,COMMAND.COM等文件复制到C:\下。注意:如果在DOS下复制不要使用SYS命令,否则Win2000无法启动。
(2)创建C:\Bootsect.dos:该文件是DOS启动所需的MBR主引导记录文件,如果在Win2000安装前安装过DOS/Win9X,该文件会自动生成不用创建;但是本例是Win2000安装前未安装过DOS,所以要手动创建了,创建方法有很多,这里推荐使用一个不到3KB 的小程序Bfhf,它可以备份/恢复MBR,MPBR和CMOS,生成方法是:把Bfhf.exe复制到C:\中,进入DOS,输入Bfhf回车,输入03(备份MBR)回车,输入Bootsect.dos回车,输入00(退出回车)
(3)修改C:\BOOT.INI文件:去掉其所有属性编辑该文件在[operating systems] 下添加一行:C:\="MS-DOS",好了,重启电脑看看MS-DOS是不是可以与Win2000共存了?(WINXP的方法类似)
DOS安装好之后,下期我们开始通过实例学习使用DOS命令.

提示 :
如果你的系统是WindowsNT/2000/XP,而且是NTFS格式的,请安装Virtual PC(虚拟PC),选择WINDOWS98就可以得到DOS了,当然你必须有WIN98的安装光盘。

38.有光DOS常见问题解答

问:为什么要使用DOS?

答: DOS是个强大实用的操作系统,且有着大量的能完成各种功能的应用程序。DOS 使用起来十分快捷和高效,还能做到很多其它操作系统做不到或做不好的事,并能使用户掌握其它操作系统(如Windows等)的一般用户未掌握的各种基础知 识,以更加灵活的使用电脑和处理各种操作等,因此它有着众多的使用者和爱好者。DOS时代可分为两个阶段,即旧的DOS时代和新的DOS时代,其中前者的 主要特点是“纯真”,后者的主要特点是“自由开放”。大家知道“开放源代码”运动吧!随着它的流行,自由开放成了软件发展的新趋势,而不是在封闭的系统 (如Windows)中。像FreeDOS、Linux等就是自由操作系统的代表,并得到了很大的发展,新的DOS时代于是应运而生了。在新的DOS时代 中,尤其是在国外,新的DOS软件不断的更新和推出,质量也很高,具体可见“DOS近年来的发展”。所以尤其是对于DOS的使用者和爱好者,以及喜欢自由 开放和不断探索的人来说,使用DOS是实用也是很有价值的。

问:如何在DOS下使用USB设备?

答: 正如本站“DOS使用”栏目中所提到的,在DOS下使用USB设备需要USB设 备的驱动程序。比如OHCI/UHCI可以驱动USB鼠标等设备,USB_CD可以驱动USB光驱等设备,DUSE可以驱动USB硬盘、光驱、软驱等设 备,Motto Hairu可以用转为ASPI的方法来驱动USB接口的软盘、硬盘、光驱、闪存盘(例如U盘等),而USB4DOS则可以驱动其它USB设备(不过 USB4DOS不是免费软件)。以上软件均可以在本站的“驱动程序”中找到。而且,“DOS文章”栏目中还有上面的DUSE驱动程序的详细介绍,大家可以 去看看。另外,较新的主板BIOS中还提供了一些DOS下使用USB设备及启动USB设备的功能。

问:如何对付所谓的硬盘“逻辑锁”?

答: 大家知道,如果硬盘中了“逻辑锁”(或称“逻辑炸弹”)的话,会使计算机中装有 MS-DOS的其它启动设备(如软盘、光盘或其它硬盘等)均无法启用,以至于无法进行下一步的操作。其实,所谓的“逻辑锁”是利用微软公司的MS-DOS 操作系统中IO.SYS文件的一个错误而制成的,而其它的DOS,如IBM公司出的PC-DOS,以及DR-DOS,FreeDOS,ROM-DOS等就 没有此问题。因此,当硬盘被“逻辑锁”锁住的时候,用以上非MS-DOS的DOS启动盘(均可在本站的“DOS系统”中下载)启动系统后,再执行 FDISK /MBR命令即可使硬盘恢复正常,十分方便。当然,还有一些非常麻烦且较危险的方法,如热插拔、用DM低格等等,都是基于MS-DOS系统的方法,并不实 用。

问:有没有本地支持长文件名的DOS操作系统?

答: 当然有,比如ROM-DOS 7.10。ROM-DOS是个相当不错的DOS操作系统,不仅本地全面支持长文件名、FAT32分区/大硬盘,以及TCP/IP协议和其它网络组件,而且 和最流行的MS-DOS完全兼容,尤其是将ROM-DOS 7.10与MS-DOS 7.10作比较,后者中的命令基本上都可以直接在前者中使用,不仅版本号相同(即都是7.10版)使得不会有DOS版本号的冲突,而且它们的各种命令都支 持FAT32和长文件名,所以这些方面的安全性和稳定性不必担心。因此,大家的系统中有一个ROM-DOS是非常不错的,尤其是制作一张ROM-DOS 7.10启动盘,这样可以享受到ROM-DOS所带来的各种好处了。而且不像MS-DOS那样,ROM-DOS好像不存在所谓的“逻辑锁”(具体可见上面 那个问题的解答)。ROM-DOS 7.10注册版的启动盘可在本站的“DOS系统”中下载。另外,RxDOS也本地支持长文件名,而FreeDOS中相应的功能也正在开发中。

问:DOS是单任务操作系统吗?能否进行多任务操作?

答: 所谓“单任务系统”就代表着此系统不能支持多任务操作,而只能在同一时间执行一 个任务。DOS有两种方式,一种是本地的实模式,另一种则是保护模式。其中在实模式方式下的DOS就是单任务环境,而且在这种方式下通常只能使用1M以内 的内存。若在保护模式的DOS下,不仅可以访问所有的内存,而且多任务是完全可以达到的(就像Win3.x/9x所达到的那样,因为Win3.x/9x本 来就是一个大型的保护模式的DOS软件)。由于许多类型的DOS通常的实模式并不支持多任务,所以在这种状态下处理任务的效率自然低于多任务操作系统,安 全性能自然也比不上多任务环境。相反,保护模式的DOS程序功能很强大,可以完成多任务等各种高级功能和操作,但它的编写难度则相对而言大得多。不过,近 年来除了Windows外,还出现了许多DOS保护模式下的多任务图形操作环境,如SEAL、Qube、DesqView等等,可在本站的“系统增强”中 下载。而且,最近许多保护模式和多用户多任务的DOS相继出现,例如FreeDOS 32、PTS-DOS 32、Real32(Multiuser DOS)等等,功能也越来越强。

问:如何安装和运行MS-DOS 7.10完整版?

答: MS-DOS 7.10是目前最实用的DOS操作系统,不仅是功能还是在实用性上,它在MS-DOS 6.x的基础上有了很大的提高,详细请见本站“DOS文章”栏目中的相关文章。MS-DOS 7.10完整版的安装功能也很强,它既可以直接从6.x上升级,也可以从Win9x/NT/2K/XP下进行双启动安装,可在本站的“DOS系统”中下 载。按照安装程序的提示完成安装后,重新启动系统后即可直接启动MS-DOS 7.10完整版了。

问:如何在DOS下用扬声器播放MP3文件?

答: DOS下MP3文件的播放器有很多,如QuickView、MPXPlay、 OpenCP、DAMP,甚至旧的DOSAmp等,但大多数都只能实现用声卡来播放。要用扬声器播放MP3文件,可以用一个叫作DSS的全屏幕方式的媒体 软件(可在本站的“媒体软件”中下载)来实现用声卡或PC扬声器播放/记录MP3或WAV文件。具体方法是在DSS.INI中将设备改为想要播放的设备, 比如1是Sound Blaster,8是PC扬声器,当然还有一些其它的设备,如ESS声卡等,具体可在它的说明中看到。或者还有另一个办法,就是先用L3ENC等软件将 MP3转换为WAV文件,再用QuickView 1.x、SBPlay等软件(也可在本站中找到)实现用PC扬声器播放转换出来的WAV文件。

问:如何播放AVI、MOV、MPG、VCD、RealAudio等多媒体格式?

答: DOS下播放AVI和MPG格式的软件倒有不少,如QuickView、PV、 AVI4DOS、MPEGone等,不过我推荐的是QuickView。它的功能相当强大,不仅可以播放以上除了RealAudio以外的所有格式,还可 以播放MP3、GIF、JPG等各种常见的音乐、图像格式,详情可在“媒体软件”和“DOS使用”栏目中看到。不过,要播放VCD,请在586以上的电脑 下运行,否则可能会出现类似幻灯片的效果。对于DOS下播放RealAudio格式的资料和具体文件,可在http: //members.tripod/~ladsoft/ra.htm中看到。

问:如何解压IMG(磁盘映象)文件?

答: 通常有两种方法,一种是直接解压法,可用UNDISK、DOSIMG等工具(在 “压缩软件”中)来进行,非常方便快捷;另一种是用映象文件展开法,即用HD-COPY等工具(在“磁盘工具”中)将磁盘映象写入到软盘中。后者所需的时 间相对比较长,期间会自动对软盘进行格式化,而且不灵活。不过,在制作启动盘的时候,后者和前者相比,则省去了用SYS命令将系统文件(如IO.SYS 等)传输到启动盘(例如执行SYS . A:命令)的过程,因为后者会自动将系统引导文件写入所需的引导位置上。

问:如何使用软盘扩容工具2M 3.0?

答: 2M 3.0是一个强大的软盘扩容工具,支持多种类型的软盘,比如可以将1.44M软盘扩充到近2M。它的文件很多,基本用法有:

1:2MF.EXE文件,将1.44M软盘格式化为此软件识别的2M格式。
2:2M.COM或2M.SYS文件,加载后即可使用用上面的2MF格式化出来的2M软盘,这时就可将此软盘当作2M使用了;可以用2M/U命令反安装2M程序,但一旦反安装2M后那个2M格式的软盘就不能被识别了,除非重新运行2M程序。
3:至于2M-INFO.EXE等文件,可以看它们的说明。

问:如何设置DOS下的显示刷新率?

答: DOS在许多显卡上的默认显示刷新率为60MHz,而不是更高的70MHz、 85MHz,甚至100MHz,导致尤其是在图形方式下时有时看起来很不舒服。这时,就需要通过设置显示刷新率的方式来解决。例如UniRfrsh就是一 个较好的设置显示刷新率的软件,可在本站的“显示工具”中找到。它是TSR方式的程序,而第一次要用SETUP全屏幕设置工具进行设置,以后每次只需运行 UNIRFRSH命令就可以加载了。具体的设置方法是先在它的主菜单中的"Configre monitor"项中按照您的显卡的规格输入显卡的最大/最小的水平/垂直刷新率,如将最大水平刷新率(第一项)设为45MHz等等(最小刷新率可不 管),然后再选择主菜单中的"Auto Configuration",提示刷新率的限制值时可使用85MHz等。再进行主菜单中的第一项"View/set refresh rates"中进行设置,在所需的屏幕方式下按回车键并输入想要的屏幕刷新率,然后可以按T键进行测试,如果能正常显示的话那就表示可以了。设置好后保存 并退出即完成了UniRfrsh的设置。不过要注意一点,就是它需要支持VBE 3.0+的显卡才能运行,如果您的显卡不支持VBE 3.0+的话,可使用Scitech Display Doctor(SDD)驱动程序,可在本站的“驱动程序”中找到。SDD会使用软件方法让很多不支持VBE 3.0的显卡能够支持它。一旦能够支持VBE 3.0+,就可以使用上面的UNIRFRSH程序进行刷新率的设置了。当然,还有其它实用的DOS下显示刷新率设置软件,如VBEHz、Scitech SNAP Graphics等等。

问:如何使用PCMCIA卡的驱动程序CardSoft?

答: CardSoft有两种运行方法。一种是直接进行安装法,首先将其解压到根文件 夹下(如果在子文件夹中的话可用SUBST命令将其虚拟为一个根文件夹),执行INSTALL(DOS)或SETUP(Win3.x)进行安装。另一种是 直接运行法,即直接执行里面的可执行文件来配置PCMCIA卡,如SSCIRRUS.EXE,SSVLSI.EXE等,这些可执行文件分别对应各种不同品 牌的PCMCIA卡。再执行CS.EXE、CSALLOC.EXE等命令进行具体分配。用里面的CARDINFO命令可以查看PCMCIA卡中的信息。另 外,PC-DOS自带PCMCIA卡支持,而不需要专门的驱动程序。

问:如何在通过DOS命令行下载文件?

答: 在DOS下下载文件的方法有很多,如用浏览器下载、FTP下载、用命令行方式下载等。对于直接在DOS命令行上下载文件,最方便的方法是使用一个叫WGET的软件,可在“网络工具”中下载,也可以在那儿下载"Internet Tools"工具包,里面也包含它。它的功能相当强大,包括断点续传、根据文件列表下载文件等多种功能,具体使用方法可用WGET -h命令查看,不过最简单的用法是直接在后面输入URL网址,FTP或HTTP等协议都可以。运行前需加载网络设备的Packet驱动程序。

问:在DOS下上网时,如何在命令行上查看本机IP地址?

答: 对于不同的网络驱动程序接口,有不同的查看方法。比如在使用Microsoft Network Client 3.0时,可以使用其自带的IPCONFIG命令以查看本机IP地址(和Win9x/NT的DOS窗口中的IPCONFIG命令很相似);若使用的是 DOS下Internet的标准Packet驱动程序,则可以使用DOSRPD中的TCPINFO命令来实现此操作,它可以脱离DOSRPD单独运行 (DOSRPD可在本站的“网络工具”中下载)。为了方便大家的使用,我将其中的TCPINFO等命令组合到了"Internet Tools",可在“网络工具”中下载。

问:如何在DOS下刻录光盘和制作ISO光盘映象文件?

答: 可以使用叫Disk-At-Once(DAO)的软件,它的最新注册版本可在 “磁盘工具”中下载。它相当强大实用,而且使用起来也很方便。它几乎支持所有的CD-ROM/CD-R/CD-RW光驱,例如IDE/ATAPI光驱(需 先加载ASPI.SYS驱动程序)、SCSI光驱,而32位的DOS版本还支持USB光驱。它包括DAO(DAO的主程序),CD2CD(光盘到光盘拷 贝),FILE2CD(文件到光盘拷贝),MAKEISO(制作ISO映象文件),ISO2RAW(将ISO文件转为BIN/RAW格式), SNAPSHOT(备份光盘内容),CDCLIP(提取CD音频)等很多命令。例如MAKEISO C:\WINDOWS WIN.ISO /RECURSE命令就可以将Windows系统的所有文件制作到光盘映象文件WIN.ISO中,用FILE2CD WIN.ISO就可以将光盘映象文件WIN.ISO刻入到光盘中。如果只想进行演示而不真正进行刻录的话,可以使用它们的/TEST选项以查看效果。总 之,DAO软件使光盘刻录和ISO映象文件的制作变得十分容易。

问:如何在DOS下虚拟光驱?

答: DOS下的虚拟光驱有很多种,例如:

1:将指定的本地路径虚拟为光驱:
这大概是用得最多的一种,用一个叫FAKECD的小程序即可做到,如:FAKECD C:\DOS

2:将IMG/ISO光盘映象文件虚拟为光驱:
可用SHSUCD中的SHSUCDHD命令来做到。具体方法是用它和MSCDEX/SHSUCDX即可;

3:将网络服务器/客户机虚拟为光驱:
可用SHSUCD中的SHSUSERV/SHSUCDN命令来做到;

4:将现有光驱虚拟为多个光驱:
可用SHSUCD中的SHSUDRVX命令来做到;

等等。

问:如何得到光驱所在的盘符?

答: 可以用本站“脚本工具”中的FINDCD程序来自动显示出光驱的盘符,例如 FINCDCD命令就可以将当前光驱的盘符显示并放入环境变量%CDROM%中。另外,我还编写了一个批处理文件,它会自动查找光驱所在的盘符,将结果显 示出来并存入环境变量%CDROM%中。不过它需要两个批处理增强程序,Strings 2.5和XSET 5.47,均可在本站的“脚本工具”中下载。文件的内容如下:

@echo off
set dn=66
set cdrom=
:count
strings dn=add %dn%,1
strings dr=char %dn%
xset /search "CDROM" drv drivetest %dr%
if not %drv%#==# goto ok
if %dn%#==90# goto no
goto count
k
set cdrom=%dr%
echo The CD-ROM drive letter %cdrom% has been assigned to the variable "CDROM".
goto end
:no
echo No CD-ROM found!
:end
set dr=
set dn=
set drv=
echo.

此例中是判断光驱所在的盘符,若想判断其它存储设备(或内存盘等)所在的盘符,将上面文件中的"xset /search "CDROM" drv drivetest %dr%"行中的"CDROM"改为其它名称即可,例如对于内存盘即可用"RAM"来替换"CDROM"。

39.DOS常用软件

软盘工具HD-COPY

简介:
HD-COPY的功能太多了:软盘对拷,扩充容量,恢复数据,解压IMG文件,清洁软盘,可以说:软盘之事几乎无所不能,版本有多种,建议使用2.0a汉化版,下面介绍其中的两个重要功能:

1.恢复数据
软盘被划伤,重要数据件无法打开,也无法复制到硬盘上,怎么办?只要有HD-COPY和一张好软盘,一般可以解决,当然要看划伤程度了。

恢复的步骤是: 在DOS下运行天汇TWay3.2,再运行HD-COPY,即会出现主界面,把坏软盘放到软驱内直接回车(执行“读取”),软驱慢慢读起来,经过重复读取,显示字符R的表示好扇区,显示字符E表示该扇区已坏,但坏扇区并不影响好扇区的备份这也正是文件可以恢复的关键所在。弹出坏软盘,换上好软盘(事先去掉写保护),将光标下移到“写入”处,回车按Y键确认,最后在我的电脑里打开软盘,看看能不能打开文件或复制文件了?祝你好运。

2.扩充容量
可将1.44MB软盘扩充到1.764MB大小。

步骤是:在DOS下运行天汇TWay3.2,再运行HD-COPY,即会出现主界面,插入软盘,选择格式化目标盘,回车,如图,选择“磁道数80-84”后,按4次回车,默认的80磁道就会变成了84磁道,选择最后选择最后一行的 1.764MB,回车按Y确认,开始格式化。等待格式化完毕按两次Esc键,再按Y键确认,即可退出HD-COPY。

磁盘医生NDD

简介:
Ndd.exe,是Norton Utilities 2002急救盘中的一个DOS工具,主要功能:修复硬盘引导记录MBR,主系统分区引导记录MPBR,文件分配表FAT等,支持FAT32和长文件名。
操作:
硬盘不能启动了怎么办?用本软件试试。步骤是:
把Ndd.exe复制到Windows98启动盘里,用该盘启机,如果软盘放不下可以删除一些无用文件,输入ndd c:后回车显示主菜单,默认选择第一项(按回车键即可自动修复),在自动修复过程中可能会出现提示,一般情况请选其中的Skip Undo即可,修复完成后拿出软盘重启,看看电脑是不是能启动了?如图:


擦除信息Wipeinfo

简介:
Wipeinfo.exe,是NU8.0中文版里一个DOS工具,主要功能是:清零磁盘。
操作:
文件经常丢失,用DOS命令Scandisk /all测出硬盘有坏扇区(标有字符B的扇区),怎么办?首先要考虑可能是逻辑坏扇区(用本软件解决),如果不能解决再用低格软件Lformat(不建议首选,因为会影响硬盘的使用寿命),Wipeinfo的使用步骤是:
把Wipeinfo.exe和China16.fnt两个文件复制到Win98启动盘里,用该盘启动,输入wipeinfo回车,出现主菜单,选择驱动器,回车,选择硬盘,回车,即可清除。

40.DOS经典游戏
清纯、简洁、明快、激情,这就是DOS游戏,它伴随了几代人的成长。

美少女梦工厂Ⅱ

简介:
养成类,繁体中文界面,女生男生都喜欢玩的游戏。如图:

情节是:
在一个被魔鬼控制的王国,你(小女孩的父亲)担负起了培养一个有希望拯救王国的小女孩的重任,游戏从小女孩10岁开始你每月安排她的活动,有上课学习,打工挣钱,武者修行,休息和其他社会活动,总之,按你的意图使之成长,日子一天天如此过去,直到小女孩长到18岁,这时电脑会根据你的实际操作显示结局,大概有70多种不同结局,如:结婚,当兵,当老师等等,所以游戏很具有耐玩性。
操作:
在DOS实模式下进入游戏所在目录输入play回车,进入游戏后点击确定,出现“重新开始”和“时光倒转”两个选项,点击一个即可进入。常用控制键: X取消,F3键加速游戏,F1键或Ctrl+Alt+Del是返回到DOS。
攻略:
1.要想多赚钱就要多安排“武者修行”(冒险),因为打败怪物可以赚钱,有时运气好的话还能捡到钱,提醒一句:遇到怪物时可有不同选项,如果自已的MP值不多最好不要打,当然打败了也不要紧还有管家救驾呢
2.每年举行一次收获节,如果你的女儿有一技之长就可以参加,有比武大赛,烹饪大赛,舞蹈大赛等,如果获得名次还可得到高额奖金或奖品,但得到的奖品千万不要卖掉啊,否则会被警方抓走的噢。
秘笈:
1.只要同时按Q+R+N+F12后再同时放开,然后再按住F10并单击“上街图标”即可进入“神秘商店”和“职业介绍”,前者可以让你的金钱无限,后者可以观看各种结局等
2.在Pm2f中加入CAMERA=1,只按一次F5就会存储当前进度至全部8个档案位置中。

三国志Ⅱ

简介:
格斗类(有个与它同名的是策略类的),日文界面,又叫“吞噬天地之赤壁之战”,九十年代大型游戏厅里随处可见,可同时支持4人共同作战。

操作:
进入游戏所在目录输入play开始游戏,如果只是你一个人玩,就按F1和F3开始,如果两个人玩,另外一个人按F2和F4开始,默认的控制键是:Ctrl拳或武器,Alt跳,当然你可以自定义控制键(空格--鼠标选择Input--Keboard)
秘笈:
大招必杀技(适用于关羽):按住Ctrl键不放再按一下Alt是“旋风拳”,前后都有敌人时使用最佳。另外,按住Alt键不放再按一下Ctrl,是“组合拳”,只在一个方向有敌人时使用最佳。
坦克大战

简介:
射击类,英文界面,家庭游戏机任天堂红白机之经典,在九十年代初风靡一时,基本玩法是:两个坦克保卫自己的总部,可以吃许多加强的武器,可以自己画地图。

操作:输入play后按回车,再按回车,用下方向键找到Tank.nes文件按回车键即可进入游戏,Insert键选择,Home键开始/暂停,F4键全屏/窗口,F6键从头开始,F8退出游戏,Delete/End选局,End开炮

毁灭战士

简介:
迷宫类(第一人称射击类,CS的祖宗)英文界面,俗称DOOM与后来的DOOM2相比有更完整的故事性和更适当的难度,可说是经典中的经典。

操作:
进入游戏所在目录,输入play开始游戏,进入游戏后再按4次回车就可以玩了,常用键:Ctrl开火,空格开门,数字键换武器,F1帮助,F2存盘,F3载入,F4调整音量,F5低/高分辩切换,F10退出游戏,F11调整亮度,加减号增大/缩小窗口。
秘笈:在游戏进行时输入iddqd无敌,idkfa全武器,idspispopd穿墙

41.DOS下必备工具

DOS是个非常强大实用的操作系统,有着最多的用户。但是我们在安装了DOS以后,发现DOS自带的命令并不能完成大家所需的各方面的功能。这时,我们就需要一些其它的软件来实现那些功能。DOS下的实用软件是非常多的,那么,我们应该在其中选择哪些工具作为必备工具来使用呢?下面就来分类讨论一下。

当安装了操作系统后,首先要使整个电脑的硬件发挥出各自的功能,比如鼠标,光驱,声卡等等。这时就需要有相应的驱动程序,而这些驱动程序就是DOS下的必备工具。这些驱动程序可在本站的“DOS软件”中下载,而安装与设置方法请见本栏目的“DOS下硬件设备的使用与设置”。

将硬件都能正常工作了以后,就要让DOS来完成所需的功能了。DOS既是个方便实用的操作系统,又是一个基础操作系统,许多界面增强程序(如Windows 3.x/9x)都是建立在它的基础上实现的,即DOS是它们的内核。因此,在DOS下进行一些系统和磁盘的管理是十分合适的,例如复制磁盘,分区,格式化等等。这时,GHOST,FDISK,FORMAT及PQMAGIC等磁盘工具就可以大显身手了,可以当作是DOS下的必备工具。当然,其它的系统维护工具(如磁盘检查工具等)也非常重要,大家可在本栏目的“DOS系统的维护”中看到。

大家知道,为了节省空间,很多文件都是使用压缩的方法来存取的。因此,DOS下进行压缩和解压的工具是非常重要的。常用的压缩格式有ZIP,RAR及ARJ等,而能够建立和展开这些压缩格式的DOS工具分别是PK(UN)ZIP,(UN)RAR及(UN)ARJ。它们的操作都十分方便快捷,如PKUNZIP *.ZIP就可以将当前文件夹下所有的ZIP文件展开。RAR和ARJ格式也是一样,可以建立或展开相应的压缩文档。不过要注意,由于RAR近年来在3.0版本中采用了新的RAR压缩格式,所以许多新的RAR文件应用最新版本的RAR(即3.0版)来解压,可在本站的“压缩工具”中下载。至于以上PKZIP/PKUNZIP和RAR等工具的具体使用方法,可见本站“DOS文章”栏目中的“DOS下常用压缩和解压工具的使用”。除了压缩一般文件,还可以压缩可执行文件,即将可执行文件的体积变小。最好的可执行文件的压缩工具是UPX,功能非常强大,可以作为必备工具。

还有部分文件叫作映像文件,如IMG文件,它们中有很多是用HD-COPY产生的,当然还有其它的工具。解压这些文件最好的方法是用UNDISK(可在本站下载),它可以非常高效的将映像文件展开,可作为必备工具。最好不要用HD-COPY等工具来解压这些文件,因为此工具不仅旧,而且只能将文件展开到软盘上,非常不方便。刚才提到的UNDISK则要好用得多。

那么如果不知道一些文件是什么压缩格式的情况怎么办呢(尤其是当扩展名丢失的时候)?这时,可用DOS下的一个非常强大的工具GetType,它的最新版本是2.60,可在本站中下载。它可以非常详细的显示压缩/映像/加密文件中的信息,甚至可以将里面的内容全部显示出来,而不需其它任何软件。不仅如此,它还可以显示可执行文件(包括Windows文件)和其它文件中的信息,非常强大,而且支持长文件名。大家可以将它当作必备工具,因为一旦有了它,操作起来就方便多了。

大家知道,Windows的文件管理器操作起来非常直观,DOS下也有很多的这样的工具,可在本站的“文件管理”中找到。它们也都是以图形方式进行操作,通常除基本的文件管理功能以外,还能实现其它许多功能,如自带文件编辑器,可以查看压缩文件中的内容等,而且近年来DOS下的文件管理工具还增加了支持长文件名和FAT32的功能。这些工具中,比较实用的有Volkov Commander等,它们的界面都不错,功能也很强,大家可以将它们作为必备工具来使用。

使用DOS自然会经常与文件和文件夹打交道,因此,如何很好的使用这些文件和文件夹就非常重要。常用的文件操作如建立,删除,编辑等,既可用DOS自带的命令,也可用许多增强工具,这样可以大大提高文件操作的效率。这些工具可在本站的“文件工具”中下载,本站的文件工具中大都支持长文件名和FAT32分区。MS-DOS 7.10不仅能使用短文件名,而且能使用长文件名,通常有长文件名驱动程序和直接操作长文件名两种方式,非常实用,可以作为必备工具。具体方法请见本站的“DOS文章”栏目中的文章。

随着电脑的发展,越来越多的人开始使用它,所以许多日常生活上的事(比如写文章,听音乐,看图像等)都在电脑上进行了。那么,如何在DOS下进行这些操作呢?先说写文章。DOS中自带一个EDIT命令,可以编辑多个文件和二进制文件,不过功能并不是很强大(比如不能设置字体等),可以使用其它专门的文字处理工具来完成。这些工具中著名的有MS-Word,CCED,WPS等,可在本站“文本”工具中下载。有些人喜欢一边打字一边听音乐,在DOS下当然也可以实现。以SETEDIT为例,这是一个非常强大实用的DOS字处理软件,不仅具有字处理的功能,还可以一边写文章一边听MP3音乐,多么好啊!因此可以将它们作为必备工具。

说完了在DOS下的文书处理,接下来就是听音乐和看图像等等操作了。DOS下听音乐和看图像的软件非常多,比如可以听WAV,MID,MP3等格式的音乐,功能和效果都非常好(绝不是最旧最差的MP3播放器DOSAMP的那种播放效果),具体可在本栏目的“DOS下的多媒体”中看到。比如QuickView,它的体积就非常小,功能却很强大,大家可将它作为必备工具。在DOS下看图像也非常方便,通常有两种方式,一种是命令行方式,一种是图形界面方式。以PictView(可在本站的“图形软件”中下载)为例,它可以播放40多种图形格式,如JPG,GIF,BMP,TGA,ICO,GIF等等,不仅速度快,质量和效果好,而且它的体积非常小,才100多K!因此,完全可以将它作为必备工具来使用。 但有些图像软件,尤其是旧的图像软件,如NV等,不仅速度慢,播放质量差,而且体积也很庞大,所以最好不要使用。

DOS下还有许多非常强大实用的软件,也可以做为必备工具。DOS软件通常都很小巧实用,这自然大大方便了大家的使用。比如SHUTDOWN和POWEROFF等命令可以轻易在DOS命令行方式下实现软关机,不仅操作起来很方便,而且体积非常小,大家就可以将它们作为必备工具。还有一些DOS命令的增强工具,可以大大增强DOS自带的外部的功能,如XXCOPY,XMSDSK等等,可以在本站中下载。为了方便大家的使用,我制作了“DOS常用工具集”,包括了以上各类软件(如命令行工具,驱动程序,系统工具,磁盘工具,压缩工具,多媒体软件等)的直接运行版本,放在本站“DOS软件”栏目的“DOS系统”中,欢迎大家下载使用。

由于每个人的习惯和爱好都不相同,所以每个人所进行的主要操作也并不相同。比如有些人喜欢编程序,或编批处理文件,就可将一些实用的编处理工具(可在本站的“脚本工具”中下载)作为必备工具;有些人喜欢玩游戏,就可以将一些游戏修改软件或模拟器(可在本站的“游戏软件”中下载)作为必备工具。因此,大家还可以根据自己的喜好来选择适合于自己的必备工具。不过,大家应尽量使用那些近几年来新推出的DOS软件,因为这些软件不仅整体而言功能更强,而且支持最新的电脑技术(如FAT32分区,大硬盘,长文件名,PCI/USB设备等)。总之,只要我们善于选择和使用DOS软件,就可以将DOS变得非常强大,让DOS发挥出应有的功能。

42.2000/XP下安装纯DOS
现在许多网友在使用WinNT/2K/XP等操作系统了。可是,当他们启动了WinNT/2K/XP后,发现许多DOS程序都无法在它上面运行了,而且也无法使用纯DOS了。这是怎么回事呢?

大家知道,WinNT/2K/XP中有个叫“命令提示符”的东东,表面看上去类似于Win3.x/9x中的MS-DOS窗口。然而,它们是完全不同的。 Win3.x/9x是运行于MS-DOS下的大型保护模式的GUI界面增强程序,而WinNT/2K/XP则是基于OS/2、NT构件的独立操作系统,因 此,它们之间有着本质的不同。真正的DOS是MS-DOS、PC-DOS等纯DOS,而WinNT/2K/XP中的“命令提示符”仅仅是个“WinNT系 统控制台”,其中带有一部分“DOS虚拟机”的功能。既然是虚拟的,效果自然没有真正的好。因此,当这个“虚拟的DOS”无法正常运行DOS程序时,只有 使用真正的DOS(例如MS-DOS 7.10)以运行它们。

由于WinNT/2K/XP不带有DOS,所以要想在安装了这些操作系统后又想用硬盘安装纯DOS系统的话,只能使用双启动。很多网友知道 WinNT/2K/XP启动时往往会出现一个菜单,可以从中选择要启动的操作系统。然而,有时此菜单中并没有“DOS”这个选项,甚至启动时根本没有出现 此启动菜单(如果在安装WinNT/2K/XP时选择保留原操作系统的话,WinNT/2K/XP的启动菜单中就会出现原来操作系统的选项)。那么该怎么 办呢?以下介绍一下在安装了WinNT/2K/XP后再安装DOS的方法。

DOS的启动需要DOS系统的引导扇区和启动文件。DOS安装程序在安装时会自动重建DOS的引导扇区和启动文件,这样安装后就可以启动DOS了。然而, 对于旧版本的DOS(如MS-DOS 6.x)而言,它们的安装程序会覆盖掉WinNT/2K/XP的引导信息,导致WinNT/2K/XP无法启动。用DOS自带的SYS等命令传输也会是这 种情况。所以,为了使DOS和WinNT/2K/XP均能启动,应该用更好的方法,或者用能够自动做成DOS与WinNT/2K/XP双启动的DOS安装 程序来自动完成。

MS-DOS 7.10是目前功能最强大实用,且兼容性最好的DOS。而且由于它全面支持大硬盘、大内存、长文件名(LFN)、FAT32分区、可能直接启动Win3.x/9x等等,所以非常实用。而且它的安装程序就全面支持与WinNT/2K/XP并存。 “MS-DOS 7.10完整安装版” (可以在“DOS系统”中下载)在安装中可以让系统自动完成在WinNT/2K/XP下安装DOS完整版的操作,并自动实现DOS与WinNT/2K/XP的双启动。由于MS-DOS 7.10完整安装版非常强大实用,所以推荐大家使用。更详细信息可以在 纯MS-DOS 7.10完整安装版 一文中看到。

不过,如果硬盘的主分区(通常是C盘)是NTFS格式的,那是不能直接安装DOS的,因为DOS不直接支持NTFS格式。这时可以用一些多启动管理器来实现,例如SPFDISK等。在用多启动盘管理器设置好系统分区后,直接安装MS-DOS 7.10即可实现与WinNT/2K/XP的共存。

另外,除安装DOS或用真实DOS启动软盘启动DOS外,还可以利用虚拟软盘镜像的方法来启动DOS,也就是从WinNT/2K/XP的开机菜单中直接启动虚拟的DOS启动软盘中的DOS,相当于从DOS启动软盘启动。可以通过用VFloppy、GRUB for NTLDR等软件来实现,具体可以在 中国DOS联盟论坛 中看到。不过请注意,用虚拟软盘或真实软盘来启动到DOS都不是安装DOS,如果要真正安装DOS的话则需用DOS安装程序来自动安装。

43.纯MSDOS7.10安装版

DOS有很多种,如PC-DOS、DR-DOS、ROM-DOS、FreeDOS等,但MS-DOS是最多人使用也是最实用的一种。MS-DOS从 1981年的1.0版开始,到1994年发展到了6.x版后,又发展出MS-DOS 7.00和MS-DOS 7.10等更新的版本。其中,MS-DOS 7.10是目前功能最强大实用,且兼容性最好的DOS。而且由于它全面支持大硬盘、大内存、长文件名(LFN)、FAT32分区、可能直接启动 Win3.x/9x等等,所以非常实用!尤其是对于大硬盘和FAT32分区的支持这点是最为重要的,因为现在的硬盘容量越来越大,例如30GB、50GB 等硬盘现在越来越多,而旧版本的DOS就无法支持这些大硬盘。如果您想看MS-DOS 7.10对于MS-DOS 6.x的具体新增功能,请看这儿: http://www.ddvip/OS/dos/index2/index.htm

下面是MS-DOS 7.10的完整安装版下载(软盘版):

安装盘1: http://www.ddvip/OS/dos/index2/soft/dos71_1.zip (必需)
安装盘2: http://www.ddvip/OS/dos/index2/soft/dos71_2.zip(可选)

或者也可以用此地址一次性下载上面两个安装盘(内容和上面的一样):

安装软盘:http://www.ddvip/OS/dos/index2/soft/msdos71f.zip

以上两个文件解开后的IMG文件为MS-DOS 7.10完整安装版的软盘IMG镜像文件,要制作成安装盘,请用HD-COPY、WinImage之类的软件将它们分别写入软盘即做成真正的安装软盘。注 意,是写入到软盘中,而不是复制文件,否则安装盘可能会无法启动。或者也可以用VMWare、Virtual PC、Bochs等虚拟机将它们(IMG镜像文件)做为虚拟软盘来直接使用并进行安装。

直接用上面的安装盘1启动系统,它就会自动启动MS-DOS 7.10安装程序,这时就可以按照提示(图形界面)以自动进行MS-DOS 7.10的安装了。这个安装程序可以自动将MS-DOS 7.10安装到硬盘中来使用。上面的安装盘2中还带有DOSSHELL、MSBACKUP等各种附加的DOS程序,也会一起安装的。说明:它可以自动与系 统中已有的WinNT/2K/XP+、旧版本的DOS如MS-DOS 6.x等系统做成双启动。

如果没有软盘而想把它们解开到硬盘上安 装,请用UNDISK、DOSIMG、WinImage之类的软件将它们全部解开到硬盘的一个文件夹中。注意:如果是两个IMG镜像文件的话,请将它们解 开到硬盘的同一个路径下,而不是两个不同的路径下。然后在纯DOS下进入此路径并运行SETUP即可开始安装。

如果想用光盘进行安装的话,可以把IMG放在光盘中做为启动镜像(比如2.88MB启动镜像);或者下载“MS-DOS 7.10完整安装光盘ISO版”并直接启动以进行MS-DOS 7.10的安装。以下是MS-DOS 7.10完整安装版的光盘版(此ISO为可启动光盘的镜像):

安装光盘: http://www.ddvip/OS/dos/index2/soft/dos71scd.zip

由于MS-DOS 7.10的安装程序具有插件功能,以使得可以自动安装更多的程序,所以这个“MS-DOS 7.10完整安装光盘ISO版”中已包含有许多附件(例如一些MP3播放器、声卡驱动、汉字系统等)以让用户进行选择性的自动安装。如果是使用“MS-DOS 7.10完整安装软盘版”并想安装插件的话,可以在安装程序提示输入插件路径时插入相应的插件盘并确定即可,随后这些插件将会被自动随MS-DOS 7.10一起安装到系统中。如果不想安装插件或没有插件盘的话则可以直接跳过此步骤。

正因为MS-DOS 7.x的功能非常强大,微软公司推出的Windows 9x等GUI程序就是用了一个经过某些修改的精简/特别版的MS-DOS 7.x内核来启动的。而以上的MS-DOS 7.10完整安装版和Windows 9x所带的精简版的DOS相比之下功能也自然更加丰富,性能也更加稳定。也正由于MS-DOS 7.10的这些增强特点,所以在这个MS-DOS 7.10下可以直接进入Windows 3.x/9x等(毕竟Win3.x/9x只是DOS下的GUI程序),方法是先进入其相应的Windows文件夹/目录,然后用相应的WIN命令即可进入 相应的Windows 3.x/9x即可,或者通过修改MSDOS.SYS的路径设置来直接实现。

如果系统中已安装了Win9x,再安装MS-DOS 7.10的话,安装程序在安装中通常会提示是否自动设置Win9x的路径,以便直接输入WIN命令就可以进入Win9x,这时请选择“是”。这样一来,MS-DOS 7.10安装成功并启动后,若想进入Win9x的话,只需在DOS命令行下输入WIN命令即可进入。如果系统中已安装了WinNT/2K/XP,再安装MS-DOS 7.10的话,安装程序通常会自动做成DOS与WinNT/2K/XP双启动。MS-DOS 7.10安装成功后,系统启动时会自动出现双启动菜单,选择菜单中的“MS-DOS 7.10”就可以进入安装好的MS-DOS 7.10了,非常安全、简便、易行。

44.DOS版本兼容性说明

大家知道,无论是MS-DOS还是PC-DOS,或是其它的DOS,都有许多不同的版本,例如大家最常用的MS-DOS就有1.0,3.0,3.3,5.0,6.2,7.10等众多版本。虽然DOS有很好的向下兼容能力,但用户还是不时碰到低版本和高版本不能匹配的使用的问题。当外部命令所要求的版本号与所使用的DOS版本不一致时,屏幕会显示“Incorrect DOS version”而拒绝执行进一步操作,这种版本检验有时是必要的,但大多数情况下则大可不必,尤其是在高版本的DOS下运行通常完全没有问题。因此,现在谈谈几个兼容使用的方法。

一: 使用命令行工具软件更改版本号

这是一种简便易行的方法,只需一两条简单的DOS命令就可以实现,但是,它需要专门的软件,如VERS 1.1或DOSVER等。VERS的用法是,VERS [DOS版本号],如VERS 7.10就可使当前版本号变为7.10,非常实用。而DOSVER是个内存驻留程序,可以自动调整DOS版本号,免去了人工操作的麻烦。它们可以在“DOS软件分类下载”中下载,其中DOSVER为注册破解版本。

二:使用DOS自带的SERVER

SERVER是DOS 5.0起自带的命令,它利用创建版本表的方法运行不同版本的DOS程序。方法是先设置版本表,然后将SERVER.EXE在CONFIG.SYS中用DEVICE/DEVICEHIGH命令加载。注意,每更改一次版本表都需重新启动计算机才能生效。

三:取消对DOS版本的检验

外部命令用版本号检测的方法来确定正在使用的DOS版本。只要对这些外部命令稍做修改,就可取消它对DOS版本的检查,使之能适用于任何版本的DOS。这样,便可顺利地使用任何版本的DOS外部命令。

通用的方法是用DEBUG调入要修改的文件,用S命令寻找版本检查功能4B的功能号赋值地址,然后反汇编这一地址,找到“JZ xxx”,将其用A命令修改成“JMP xxx”,再用W命令写回磁盘。下面是修改DOS 3.30的DISKCOPY.COM的例子。

DEBUG DISKCOPY.COM(回车)
-S 100 FFFE B4 30
CS:1650
-U 1650
XXXX:1650 B430 MOV AH,30
XXXX:1652 CD21 INT 21
XXXX:1654 3D031E CMP AX,1E03
XXXX:1657 740B JZ 1664
XXXX:1659 BAE90F MOV DX,0FE9
...
-A 1657
XXXX:1657 JMP 1664
XXXX:1659
-W
-Q

注意:修改后的“JMP xxxx”字节数不能起过“JZ xxxx”的字节数。

另外,还有其它一些方法,如用含对应DOS版本的系统软盘启动等,由于比较麻烦,所以不再说明。

45.ROMDOS启动盘

ROM-DOS是个非常强大实用的DOS,不仅稳定性和兼容性很好,而且本地支持长文件名和FAT32以及其它各种工具和程序开发包(SDK),现提供它的启动盘下载:
ROM-DOS是个非常强大实用的DOS,不仅稳定性和兼容性很好,而且本地支持长文件名和FAT32以及其它各种工具和程序开发包(SDK),现提供它的启动盘下载:
http://newdos.yginfo/dosware/rdos71bd.zip

注:此为在原来我做的ROM-DOS启动盘上修改过的增强版本,增加了用XMSDSK创建内存虚拟盘,并用网友baobolz提到的那个实用的FINDRAMD程序查找内存盘所在驱动器,并将COMMAND.COM文件复制到内存盘的功能。尤其是莫老师可以看看这个关于内存盘的查找功能。

源代码:
break on
lfnfor on
verify on
set dircmd=/OGN /4
set comspec=a:\command
path=a:\;..
mode con rate=32 delay=1
killer.exe
doskey
mscdex.exe /D:CDROM1 /K
ctmouse.exe /r3
set ramdrive=
xmsdsk 1024 /y
findramd>nul
if %ramdrive%#==# goto noram
copy command %ramdrive%\>nul
path=%ramdrive%\;%path%
set comspec=%ramdrive%\command
:noram

解释:
break on 可以按下Pause键来中断
lfnfor on 支持长文件名
verify on 支持检验,比如复制时
set dircmd=/OGN /4 设置DIR命令的参数
set comspec=a:\command 设置命令处理器路径
path=a:\;.. 设置搜索路径
mode con rate=32 delay=1 键盘速度
killer.exe 中断某些程序运行的常驻内存程序
doskey 不用说了吧?!
mscdex.exe /D:CDROM1 /K
ctmouse.exe /r3 鼠标
set ramdrive=xmsdsk 1024 /y 设置虚拟盘
findramd>nul 查找虚拟盘
if %ramdrive%#==# goto noram 判断虚拟盘符
copy command %ramdrive%\>nul 复制命令处理器到虚拟盘中,加快响应速度
path=%ramdrive%\;%path% 添加虚拟盘路径
set comspec=%ramdrive%\command 设置命令处理器路径
:noram

46 ANSI.SYS程序的使用

ANSI.SYS是MS-DOS中一个很有用的设备驱动程序,利用它,我们可以取得意想不到的显示效果。那么,它该如何使用呢?下面就来介绍一下。

注意:在本节中,语法和 ANSI 转义序列中的大写字母必须按原样键入。

ANSI.SYS 定义了一系列函数,这些函数被用来改变显示图形、控制光标移动和键的重定义,ANSI.SYS 设备驱动程序支持转义序列的 ANSI 终端仿真,以便控制系统的屏幕和键盘。

该设备驱动程序必须由位于 CONFIG.SYS 文件中的DEVICE或DEVICEHIGH命令加载。

语法

DEVICE(HIGH)=[ 驱动器 :][ 路径 ]ANSI.SYS [/X] [/K] [/R]

参数

[ 驱动器 :][ 路径 ]
指定 ANSI.SYS 文件的位置。

选项

/X
重新映射 101 键键盘以外的扩展键。

/K
使 ANSI.SYS 文件将 101 键键盘当作 84 键键盘看待,这等价于命令 SWITCHES=/K。如果您通常使用 SWITCHES=/K命令,那么在使用ANSI.SYS 时,则需要使用选项 /K。

/R
当 ANSI.SYS 与屏幕阅读程序(该程序使残疾人更易于使用计算机)一起使用时,此选项用来调整行的滚动,以便提高可读性。

在 ANSI 转义序列中使用的参数:

Pn
数字参数,用来指定一个十进制数。

Ps
可选参数。指定一个十进制数,用于选择函数。您可以指定多个函数,必须用分号 (;) 将参数隔开。

PL
行参数。指定一个十进制数,它代表显示器或其它设备上的一行。

Pc
列参数。指定一个十进制数,它代表屏幕或其它设备上的一列。

ANSI 转义序列中关于光标移动、图形和键盘的设置:

在下面的 ANSI 转义序列的列表中,缩写 ESC 代表 ASCII转义字符 27(1Bh),它位于每个转义序列的开始。

ESC[PLcH
光标位置:移动光标到指定的位置(坐标),如果不指定位置,光标将移动到起始位置,即屏幕的左上角(0 行,0 列)。
该转义序列与下面的光标位置转义序列的工作方式相同。

ESC[PLcf
光标位置:与前面光标位置转义序列的工作方式相同。

ESC[PnA
上移光标:不改变列而将光标向上移动指定的行数。如果光标已在首行,则 ANSI.SYS 忽略这个序列。

ESC[PnB
下移光标:不改变列而将光标向下移动指定的行数。如果光标已经在最后一行,则 ANSI.SYS 忽略这个序列。

ESC[PnC
右移光标:不改变行而将光标向右移动指定的列数。如果光标已经在最右列,则 ANSI.SYS 忽略这个序列。

ESC[PnD
左移光标:不改变行而将光标向左移动指定的列数。如果光标已经在最左列,则 ANSI.SYS 忽略这个序列。

ESC[s
保存光标位置:保存当前光标位置。使用“恢复光标位置”序列,您可以将光标移动到保存的光标位置。

ESC[u
恢复光标位置:将光标位置返回到“保存光标位置”所储存的位置。

ESC[2J
清除显示:清除屏幕并将光标位置移到起始位置(0 行,0 列)。

ESC[K
清除行:清除从光标所在位置到行尾的所有字符( 包括光标位置上的字符)。

ESC[Ps;...sm
设置图形模式:调用由下列数值指定的图形函数,在该序列再次出现之前,这些被指定的函数保持激活状态。图形模式改变屏幕上显示的颜色和文本(例如:黑体和下划线字体)属性。

文本属性

值功能
------------------------------------
0 无属性
1 黑体
4 下划线字体(仅适用于单色显示适配器)
5 闪烁字体
7 反显字体
8 隐藏字体

前景色

值功能
------------------------------------
30 黑色
31 红色
32 绿色
33 黄色
34 蓝色
35 紫红色
36 青色
37 白色

背景色

值功能
------------------------------------
40 黑色
41 红色
42 绿色
43 黄色
44 蓝色
45 紫红色
46 青色
47 白色

参数 30 到 47 符合 ISO 6429 标准。

ESC[=psh
设置模式:改变屏幕宽度或类型,使之成为下列数值所指定的一种。

0 40 x 148 x 25 单色(文本)
1 40 x 148 x 25 彩色(文本)
2 80 x 148 x 25 单色(文本)
3 80 x 148 x 25 彩色(文本)
4 320 x 148 x 200 4 色(图形)
5 320 x 148 x 200 单色(图形)
6 640 x 148 x 200 单色(图形)
7 启用换行功能
13 320 x 148 x 200 彩色(图形)
14 640 x 148 x 200 彩色(16 色图形)
15 640 x 148 x 350 单色(2 色图形)
16 640 x 148 x 350 彩色(16 色图形)
17 640 x 148 x 480 单色(2 色图形)
18 640 x 148 x 480 彩色(16 色图形)
19 320 x 148 x 200 彩色(256 色图形)

ESC[=Psl
重新设置模式:使用“设置模式”序列所用的同一值来重新设置模式,但是 7 除外,使用 7 将使换行功能失效。

注意:该转义序列中的最后一个字符是个小写 L。

ESC[code;string;...p
设置键盘字符串:将键盘键重新定义为指定的字符串。该转义序列的参数定义如下:

“code”是列于下表的一个或多个数值,这些数值代表键盘键和键的组合。当在命令中使用这些数值时,除了该序列要求的分号外,您还必须键入该表中显示的分号。括号中的代码在一些键盘上不存在,除非选项 /X 在 ANSI.SYS 的DEVICE 命令中被指定,否则,ANSI.SYS 将不为这些键盘翻译括号中的代码。

“string”对于单个字符是 ASCII 代码,或者是包含在引号中的串。例如:65 和“A”都被用来代表大写字母 A。

要点:下表中的一些值并不是对于所有的计算机都有效,对于那些不同的数值,请检查您的计算机文档。

键代码 SHIFT+ 代码 CTRL+ 代码 ALT+ 代码
------------------------------------------------------------------
F1 0;59 0;84 0;94 0;104
F2 0;60 0;85 0;95 0;105
F3 0;61 0;86 0;96 0;106
F4 0;62 0;87 0;97 0;107
F5 0;63 0;88 0;98 0;108
F6 0;64 0;89 0;99 0;109
F7 0;65 0;90 0;100 0;110
F8 0;66 0;91 0;101 0;111
F9 0;67 0;92 0;102 0;112
F10 0;68 0;93 0;103 0;113
F11 0;133 0;135 0;137 0;139
F12 0;134 0;136 0;138 0;140
A 97 65 1 0;30
B 98 66 2 0;48
C 99 66 3 0;46
D 100 68 4 0;32
E 101 69 5 0;18
F 102 70 6 0;33
G 103 71 7 0;34
H 104 72 8 0;35
I 105 73 9 0;23
J 106 74 10 0;36
K 107 75 11 0;37
L 108 76 12 0;38
M 109 77 13 0;50
N 110 78 14 0;49
O 111 79 15 0;24
P 112 80 16 0;25
Q 113 81 17 0;16
R 114 82 18 0;19
S 115 83 19 0;31
T 116 84 20 0;20
U 117 85 21 0;22
V 118 86 22 0;47
W 119 87 23&n

47.Autoexec.bat

DOS在启动会自动运行autoexec.bat这条文件,一般我们在里面装载每次必用的程序,如: path(设置路径)、smartdrv(磁盘加速)、 mouse(鼠标启动)、mscdex(光驱连接)、 doskey(键盘管理)、set(设置环境变量)等。
  如果启动盘根目录中没有这个文件,电脑会让用户输入日期和时间 。

  例如,一个典型的autoexec.bat内容如下:

@echo off                     不显示命令行

prompt $p$g                    设置提示符前有目录提示

path c:\dos;c:\;c:\windows;c:\ucdos;c:\tools    设置路径

lh c:\dos\doskey                加载键盘管理

lh c:\mouse\mouse               加载鼠标管理

lh c:\dos\smartdrv.exe               加载磁盘加速管理

lh c:\dos\mscdex /S /D:MSCD000 /M:12 /V      加载CD-ROM驱动

set temp=c:\temp                  设置临时目录

48、DOS未公开命令参数
DOS系统中有许多未公开的命令与参数。我经过收集整理,发现了很多。由于DOS的有好几种,所以下面仅以MS-DOS为例,介绍一下常用命令中的未公开的命令与参数。经过比较,我发现在MS-DOS的各版本中,7.x版中的未公开命令与参数是最多的,这些7.x版本中的未公开命令与参数在其它DOS版本中通常是没有的,但却是非常实用的,例如COMMAND /Z命令,这是用DOS自带的命令显示ERRORLEVEL(错误返回代码)值的唯一方法(当然,用其它的附加工具,如ERR2ENV等也可以做到)。

DOS未公开命令:

TRUENAME:用于显示实际的路径,对SUBST等命令很有用。
INSTALLHIGH:用在CONFIG.SYS中,将文件调入UMB。
LOGO和COMMENT:仅用在MS-DOS 7.x中的CONFIG.SYS中,用法未知。

DOS未公开参数:

COMMAND /F 使Fail作为Abort,Retry,Fail中的默认选项。
COMMAND /D 在DOS5中是禁止AUTOEXEC.BAT自动执行;在6.0+版本中是禁止/F参数。
COMMAND /Z 显示ERRORLEVEL(错误返回代码)信息。
COMMAND /T 在MS-DOS 7.x中强制将COMMAND.COM永久性调入常规内存。

FORMAT /AUTOTEST 自动完成格式化过程。
FORMAT /BACKUP 自动完成格式化过程,并提示输入卷标。
FORMAT /SELECT 只在磁盘上备份系统区数据,相当于MIRROR程序。
FORMAT /SELECT /U 将引导区和文件分配表用F6H填之。
FORMAT /Z:n 设置FAT32分区上的簇大小。

FDISK /MBR 重写硬盘主引导记录。
FDISK /CMBR drive 重写指定驱动器上的主引导记录。
FDISK /PRI:size 创建主分区。
FDISK /EXT:size 创建扩展分区。
FDISK /LOG:size 在扩展分区上创建逻辑驱动器。
FDISK /PRMT|/Q 提示行动/安静模式。
FDISK /PARTN 将分区表信息保存到PARTSAV.FIL中。
FDISK /ACTOK 用于MS-DOS 7.x中,跳过完整性测试。
FDISK /FPRMT 用于MS-DOS 7.x中,自动采用FAT32,并跳过提示信息。

DOSKEY /APPEDIT 使DOSKEY也应用于其它程序(如DEBUG等)中。
DOSKEY /COMMAND和/PERMANENT和/SCRSIZE和/XHISTORY 用法未知。

SCANDISK /CLIP 用于MS-DOS 7.x中,将长文件名剪为短文件名。
SCANDISK /NOLOST 用于MS-DOS 7.x中,不提示表面测试或丢失簇。
SCANDISK /NOUI和/TEXT 用于MS-DOS 7.x中,使用标准的DOS界面。
SCANDISK /MOUNT 相当于SCANDISK.INI中的Mount=Always。
SCANDISK /TIME 相当于SCANDISK.INI中的ScanTimeOut=On。

QBASIC /QHELP 进入DOS的全屏幕帮助系统,相当于执行HELP命令。
QBASIC /EDCOM 进入DOS的文件编辑器,相当于执行EDIT命令。

MEM /A或MEM /ALL 显示HMA信息。

VER /R 显示扩展的版本信息。

DIR /Z 用于MS-DOS 7.x中,表示不显示长文件名。

DEVICE=HIMEM.SYS /Q 当HIMEM.SYS加载时使用安静模式。

DEVICE=EMM386.EXE NOTR 不要检测Token Ring网络适配器。

DOS未公开用法:

IF EXIST XMSXXXX0 ... 此命令可以判断当前是否安装了XMS内存管理器(通常是HIMEM.SYS)。 注意: 是XMSXXXX0,而不是有些文章中提到的错误的XMMXXXX0.
IF EXIST EMMXXXX0 ... 此命令则用来判断当前是否安装了EMS内存管理器(通常是EMM386.EXE)。

:: 此符号可在批处理文件中代替REM注解命令,可以加快运行速度。

以上是MS-DOS中的未公开命令与参数,其中有些是非常实用的,大家不妨一试。

49.config。sys配置

CONFIG.SYS是DOS系统中的一个重要文件,它的配置直接影响到系统的使用及其效率。如果配置不当的话,可能很多程序都无法正常运行。因此,正确合理地配置CONFIG.SYS文件是十分必要和重要的。下面我向大家介绍一下CONFIG.SYS中的命令及其配置方法。

CONFIG.SYS中的命令:
注意:所有以HIGH结尾的命令(如DEVICEHIGH)表示将其调入UMB(上位内存),但有些这样的命令(如FILESHIGH)必须在MS-DOS 7.x版本中使用。

ACCDATE :指定对每一个驱动器是否记录文件最后被访问的日期。
用法:ACCDATE= 驱动器 1+|- [ 驱动器 2+|-]...
如:ACCDATE=C+ D+ E+将在C,D,E盘中记录文件最后被访问的日期。
此命令仅用于MS-DOS 7.x中。

BREAK :设置或清除扩展的CTRL+C检查。
用法:BREAK=ON|OFF

BUFFERS/BUFFERSHIGH :为指定数量的磁盘缓冲区分配内存。
用法:BUFFERS=磁盘缓冲区数量,[从属高速缓存中的缓冲区数量]

DEVICE/DEVICEHIGH :将指定的设备驱动程序装入内存。
用法:DEVICE/DEVICEHIGH 文件名 [参数]
其中,文件名是文件的完整路径,如C:\DOS\HIMEM.SYS。

DOS :用于DOS系统的配置,如是否使用HMA(高端内存区)等。
用法:DOS=[HIGH|LOW][,UMB|,NOUMB][,AUTO|,NOAUTO][,SINGLE]
其中,HIGH和LOW表示使用HMA或不使用HMA,UMB和NOUMB表示使用UMB或不使用UMB,AUTO或NOAUTO表示系统自动配置或不自动配置,SINGLE表示使用单一模式的DOS。其中,AUTO/NOAUTO和SINGLE仅用于MS-DOS 7.x中。

DRIVPARM :设置现有物理设备的参数。
注:此命令用得很少,我也没用过,所以暂时跳过。

FCBS/FCBSHIGH :指定可以同时打开的文件控制块 (FCB) 的数量。
用法:FCBS/FCBSHIGH=可以同时打开的FCB的数量。
注:由于FCB主要是在DOS 1.x中使用,对于高版本,所以可以让系统自动配置。

FILES/FILESHIGH :指定 可以同时访问的文件数量。
用法:FILES/FILESHIGH=可以同时访问的文件数量。
注:一般FILES/FILESHIGH的设置值在30左右比较合适。

INSTALL/INSTALLHIGH :用于加载TSR(内存驻留程序)。
用法:INSTALL/INSTALLHIGH=文件名 [参数]
如:INSTALLHIGH=C:\DOS\DOSKEY.COM /APPEDIT

LASTDRIVE/LASTDRIVEHIGH :指定可以访问的驱动器的最后有效的驱动器字母。
用法:LASTDRIVE=驱动器字母
如LASTDRIVE=F会将F设置成最后有效的驱动器字母。

NUMLOCK :指定启动时NUMLOCK指定灯是否打开。
用法:NUMLOCK=ON|OFF

REM :添加注解。
用法:REM [注解字符串]
注:注解中的字符串只是用来增加可读性,将不被执行。

SET :设计DOS环境变量。
用法:SET 变量=[变量值]

SHELL :指定DOS 使用的命令解释程序的名称和位置。
用法:SHELL=文件名 [参数]
注:文件名默认是COMMAND.COM,您也可以指定其它的文件,如4DOS.EXE等。

STACK/STACKHIGH :指定使用的堆栈数量。
用法:STACK/STACKHIGH=堆栈数量,每个堆栈的大小
注:通常指定的值是9,256,这个值可以满足大多数的需求。

SWITCHES :指定一些特殊选项。
用法:SWITCHES=[/W] [/F] [/K] [/N] [/E[:n]]

其它的是一些菜单配置命令,如MENUITEM,MENUCOLOR等。

在MS-DOS 7.x中还有一些未公开命令,如LOGO,COMMENT等。

知道了以上的命令后,就要谈谈如何利用这些命令来配置CONFIG.SYS文件了。配置的好坏对系统的影响是非常大的。以下是我的电脑(都是MS-DOS 7.10)中CONFIG.SYS文件中的内容,大家可以用作参考。

电脑一,使用EMM386.EXE:

device=d:\dos\echo.sys L/o/a/d/i/n/g CONFIG.SYS...
device=d:\dos\himem.sys
device=d:\dos\emm386.exe noems novcpi i=b600-b7ff
devicehigh=d:\dos\mdctools\setver.exe
devicehigh=d:\dos\ifshlp.sys
devicehigh=d:\dos\vide-cdd.sys /d:IDE-CD
devicehigh=d:\dos\cloaking.exe
country=086,936,d:\dos\country.sys
shell=c:\command /p /e:640
set temp=e:\temp
set tmp=e:\temp
accdate=c+ d+ e+
dos=high,umb,auto
numlock=off
files=30
buffershigh=30,0
fcbshigh=4,0
lastdrivehigh=n
stackshigh=9,256

电脑二,使用UMBPCI.SYS:

device=d:\dos\echo.sys L/o/a/d/i/n/g CONFIG.SYS...
device=d:\dos\echo.sys
device=d:\dos\umbpci.sys
device=d:\dos\hiram.exe
devicehigh=d:\dos\himem.sys
devicehigh=d:\dos\setver.exe
devicehigh=d:\dos\ifshlp.sys
devicehigh=d:\dos\vide-cdd.sys /d:IDE-CD
shell=d:\dos\command /p /e:640
set temp=e:\temp
set tmp=e:\temp
accdate=c+ d+ e+
dos=high,umb,auto
country=086
numlock=off
fileshigh=30
buffershigh=30,0
stackshigh=9,256
lastdrivehigh=n

您不妨试试,相信您也会做出好的CONFIG.SYS文件来。

50.DOS下内存配置
实模式的DOS通常只能使用1M以下的内存空间。其中基本内存为640K,而上位内存则需要相应的内存管理器。基本内存的管理尤为重要,因为使用不当会造成一些程序无法运行。那么,应如何优化使用它呢?这儿有一些建议。

首先,加载提供上位内存(UMB)的内存管理器。通常有EMM386和QEMM等,不过这些工具自身占用的内存较大,在此推荐的是UMBPCI,这是一个仍在发展的工具,可提供最大高达162K的UMB,而且如果放在HIMEM前可完全不占用基本内存。然后,将所有的设备驱动程序/TSR调入UMB(用DEVICEHIGH,LOADHIGH等),这样,即使加载许多驱动程序(如光驱,鼠标等),剩下的基本内存仍会很高,甚至630K。要注意的是,尽量使用占内存较少的驱动程序,以便空出最多的UMB。

以下是在我的电脑上(MS-DOS 7.10)用MEM/A/C命令显示出的内存状态信息:

Modules using memory below 1 MB:

Name Total Conventional Upper Memory
-------- ---------------- ---------------- ----------------
SYSTEM 32,736 (32K) 9,664 (9K) 23,072 (23K)
HIMEM 1,168 (1K) 0 (0K) 1,168 (1K)
SETVER 864 (1K) 0 (0K) 864 (1K)
VIDE-CDD 5,024 (5K) 0 (0K) 5,024 (5K)
CLOAKING 1,168 (1K) 0 (0K) 1,168 (1K)
IFSHLP 2,864 (3K) 0 (0K) 2,864 (3K)
COMMAND 7,424 (7K) 0 (0K) 7,424 (7K)
KILLER 400 (0K) 0 (0K) 400 (0K)
WATCH 3,392 (3K) 0 (0K) 3,392 (3K)
MSCDEX 2,816 (3K) 0 (0K) 2,816 (3K)
DOSKEY 5,744 (6K) 0 (0K) 5,744 (6K)
CTMOUSE 3,344 (3K) 0 (0K) 3,344 (3K)
ZENO 1,376 (1K) 0 (0K) 1,376 (1K)
ESCAPE 496 (0K) 0 (0K) 496 (0K)
Free 750,080 (732K) 645,328 (630K) 104,752 (102K)

Memory Summary:

Type of Memory Total Used Free
---------------- ----------- ----------- -----------
Conventional 655,360 10,032 645,328
Upper 163,904 59,152 104,752
Reserved 393,216 393,216 0
Extended (XMS) 49,119,168 82,880 49,036,288
---------------- ----------- ----------- -----------
Total memory 50,331,648 545,280 49,786,368

Total under 1 MB 819,264 69,184 750,080

Largest executable program size 645,312 (630K)
Largest free upper memory block 103,952 (102K)
Available space in High Memory Area 5,360 (5K)
MS-DOS is resident in the high memory area.

从上表中可以看出,我加载了以下内存驻留程序及驱动程序:

HIMEM :DOS中自带的XMS驱动程序。
SETVER :DOS版本表程序。
VIDE-CDD :通用光驱驱动程序。如果您的光驱是USB的,则用DUSE。
CLOAKING :内存CLOAKING API及DPMS驱动程序,以节省MSCDEX的内存占用。
IFSHLP :32位的磁盘服务程序,用于Windows 9x中,可以不加载。
COMMAND :DOS命令处理器。
KILLER :自动截获不正确的指令,防止死机。
WATCH :TSR Utils中的一个,DISABLE命令利用它可以禁止其它TSR程序的功能。
MSCDEX :和CLOAKING程序合用的MSCDEX,只占不到3K内存,否则要占约30K。
DOSKEY :DOS自带的键盘缓冲和历史程序。
CTMOUSE :DOS下通用的鼠标驱动程序,占内存小,速度也非常快。
ZENO :显示加速程序。
ESCAPE :在任何时候都可以按F12键退回到DOS方式下,以防止死机。

当然,我还加载了不少非内存驻留程序。如果您想知道我的CONFIG.SYS文件中的具体设置内容,可看下面的“CONFIG.SYS文件的命令与配置”。

51.msdos.sys配置

在MS-DOS 6.x及以下版本中,MSDOS.SYS是一个非常重要的启动文件。不过,到了MS-DOS 7.x版本中,MSDOS.SYS变成了一个设置文件,有点类似CONFIG.SYS,仍具有较大的作用。现在介绍一下MSDOS.SYS文件中[Options]项中的一些设置。

   AutoScan:非正常关机后下次启动是否运行 ScanDisk。

   BootDelay:开机时热键按下前的等待时间(单位:秒)。

   BootGUI:启动时是否进入Windows的GUI界面,0代表不进入WIN,而是纯MS-DOS方式)。

   BootKeys:启动时热键是否有效。

   BootMenu:启动时是否显示启动菜单(否则要按下热键才显示)。

   BootMenuDefault:显示启动菜单时的默认项(即光标所在项)。

   BootMulti:是否允许启动其它的MS-DOS版本(如6.xx)。

   BootWarn:在启动过程中失败后,下次启动是否提示进入安全模式。

   BootWin:启动时是否自动装入旧版MS-DOS。

   DblSpace:启动时是否装入 DBLSPACE.BIN。

   DoubleBuffer:是否启动双缓冲区支持。

   DrvSpace:启动时是否装入 DRVSPACE.BIN。

   LoadTop:启动时是否将系统核心的一部分装入HMA高端内存。

   Logo:启动时是否显示DOS启动画面。

52.DOS命令全集

一)MD——建立子目录

1.功能:创建新的子目录

2.类型:内部命令

3.格式:MD[盘符:][路径名]〈子目录名〉

4.使用说明:

(1)“盘符”:指定要建立子目录的磁盘驱动器字母,若省略,则为当前驱动器;

(2)“路径名”:要建立的子目录的上级目录名,若缺省则建在当前目录下。

例:(1)在C盘的根目录下创建名为FOX的子目录;(2)在FOX子目录下再创建USER子目录。

C:、>MD FOX (在当前驱动器C盘下创建子目录FOX)

C:、>MD FOX 、USER (在FOX 子目录下再创建USER子目录)

(二)CD——改变当前目录

1.功能:显示当前目录

2.类型:内部命令

3.格式:CD[盘符:][路径名][子目录名]

4.使用说明:

(1)如果省略路径和子目录名则显示当前目录;

(2)如采用“CD、”格式,则退回到根目录;

(3)如采用“CD.。”格式则退回到上一级目录。

例:(1)进入到USER子目录;(2)从USER子目录退回到子目录;(3)返回到根目录。

C:、>CD FOX 、USER(进入FOX子目录下的USER子目录)

C:、FOX、USER>CD.。 (退回上一级根目录)

C:、FOX>CD、 (返回到根目录)

C:、>

(三)RD——删除子目录命令

1.功能:从指定的磁盘删除了目录。

2.类型:内部命令

3.格式:RD[盘符:][路径名][子目录名]

4.使用说明:

(1)子目录在删除前必须是空的,也就是说需要先进入该子目录,使用DEL(删除文件的命令)将其子目录下的文件删空,然后再退回到上一级目录,用RD命令删除该了目录本身;

(2)不能删除根目录和当前目录。

例:要求把C盘FOX子目录下的USER子目录删除,操作如下:

第一步:先将USER子目录下的文件删空;

C、>DEL C:、FOX、USER、*。*

第二步,删除USER子目录。

C、>RD C:、FOX、USER

(四)DIR——显示磁盘目录命令

1.功能:显示磁盘目录的内容。

2.类型:内部命令

3.格式:DIR [盘符][路径][/P][/W]

4. 使用说明:/P的使用;当欲查看的目录太多,无法在一屏显示完屏幕会一直往上卷,不容易看清,加上/P参数后,屏幕上会分面一次显示23行的文件信息,然后暂停,并提示;Press any key to continue

/W的使用:加上/W只显示文件名,至于文件大小及建立的日期和时间则都省略。加上参数后,每行可以显示五个文件名。

:][路径2]…(设定可执行文件的搜索路径)

PATH:(取消所有路径)

PATH:(显示目前所设的路径)


(六)TREE——显示磁盘目录结构命令

1.功能:显示指定驱动器上所有目录路径和这些目录下的所有文件名。

2.类型:外部命令

3.格式:TREE[盘符:][/F][》PRN]

4.使用说明:

(1)使用/F参数时显示所有目录及目录下的所有文件,省略时,只显示目录,不显示目录下的文件;

(2)选用>PRN参数时,则把所列目录及目录中的文件名打印输出。

(七)DELTREE——删除整个目录命令

1.功能:将整个目录及其下属子目录和文件删除。

2.类型:外部命令

3.格式:DELTREE[盘符:]〈路径名〉

4.使用说明:该命令可以一步就将目录及其下的所有文件、子目录、更下层的子目录一并删除,而且不管文件的属性为隐藏、系统或只读,只要该文件位于删除的目录之下,DELTREE都一视同仁,照删不误。使用时务必小心!!!

五、磁盘操作类命令


(一)FORMAT——磁盘格式化命令

1.功能:对磁盘进行格式化,划分磁道和扇区;同时检查出整个磁盘上有无带缺陷的磁道,对坏道加注标记;建立目录区和文件分配表,使磁盘作好接收DOS的准备。

2.类型:外部命令

3.格式:FORMAT〈盘符:〉[/S][/4][/Q]

4.使用说明:

(1)命令后的盘符不可缺省,若对硬盘进行格式化,则会如下列提示:WARNING:ALL DATA ON NON ——REMOVABLE DISK

DRIVE C:WILL BE LOST !

Proceed with Format (Y/N)?

(警告:所有数据在C盘上,将会丢失,确实要继续格式化吗?)

(2)若是对软盘进行格式化,则会如下提示:Insert mew diskette for drive A;

and press ENTER when ready…

(在A驱中插入新盘,准备好后按回车键)。

(3)选用[/S]参数,将把DOS系统文件IO.SYS 、MSDOS.SYS及COMMAND.COM复制到磁盘上,使该磁盘可以做为DOS启动盘。若不选用/S参数,则格式化后的磙盘只能读写信息,而不能做为启动盘;

(4)选用[/4]参数,在1.2MB的高密度软驱中格式化360KB的低密度盘;

(5)选用[/Q]参数,快速格式化,这个参数并不会重新划分磁盘的磁道貌岸然和扇区,只能将磁盘根目录、文件分配表以及引导扇区清成空白,因此,格式化的速度较快。

(6)选用[/U]参数,表示无条件格式化,即破坏原来磁盘上所有数据。不加/U,则为安全格式化,这时先建立一个镜象文件保存原来的FAT表和根目录,必要时可用UNFORRMAT恢复原来的数据。

(二)UNFORMAT恢复格式化命令

1.功能:对进行过格式化误操作丢失数据的磁盘进行恢复。


2.类型:外部命令

3.格式:UNFORMAT〈盘符〉[/L][/U][/P][/TEST]

4.使用说明:用于将被“非破坏性”格式化的磁盘恢复。根目录下被删除的文件或子目录及磁盘的系统扇区(包括FAT、根目录、BOOT扇区及硬盘分区表)受损时,也可以用UNFORMAT来抢救。

(1)选用/L参数列出找到的子目录名称、文件名称、大孝日期等信息,但不会真的做FORMAT工作。

(2)选用/P参数将显示于屏幕的报告(包含/L参数所产生的信息)同时也送到打印机。运行时屏幕会显示:“Print out will be sent to LPT1”

(3)选用/TEST参数只做模拟试验(TEST)不做真正的写入动作。使用此参数屏幕会显示:“Simulation only”

(4)选用/U参数不使用MIRROR映像文件的数据,直接根据磁盘现状进行UNFORMAT。

(5)选用/PSRTN;修复硬盘分区表。

若在盘符之后加上/P、/L、/TEST之一,都相当于使用了/U参数,UNFORMAT会“假设”此时磁盘没有MIRROR映像文件。

注意:UNFORMAT对于刚FORMAT的磁盘,可以完全恢复,但FORMAT后若做了其它数据的写入,则UNFORMAT就不能完整的救回数据 了。UNFORMAT并非是万能的,由于使用UNFORMAT会重建FAT与根目录,所以它也具有较高的危险性,操作不当可能会扩大损失,如果仅误删了几 个文件或子目录,只需要利用UNDELETE就够了。
三) CHKDSK——检查磁盘当前状态命令

1.功能:显示磁盘状态、内存状态和指定路径下指定文件的不连续数目。

2.类型:外部命令

3.格式:CHKDSK [盘符:][路径][文件名][/F][/V]

4.使用说明:

(1)选用[文件名]参数,则显示该文件占用磁盘的情况;

(2)选[/F]参数,纠正在指定磁盘上发现的逻辑错误;

(3)选用[/V]参数,显示盘上的所有文件和路径。


(四)DISKCOPY——整盘复制命令

1.功能:复制格式和内容完全相同的软盘。

2.类型:外部命令

3.格式:DISKCOPY[盘符1:][盘符2:]

4.使用说明:

(1)如果目标软盘没有格式化,则复制时系统自动选进行格式化。

(2)如果目标软盘上原有文件,则复制后将全部丢失。

(3)如果是单驱动器复制,系统会提示适时更换源盘和目标盘,请操作时注意分清源盘和目标盘。

(五)LABEL——建立磁盘卷标命令

1.功能:建立、更改、删除磁盘卷标。

2.类型:外部命令

3.格式:LABEL[盘符:][卷标名]

4.使用说明:

(1)卷标名为要建立的卷标名,若缺省此参数,则系统提示键入卷标名或询问是否删除原有的卷标名;

(2)卷标名由1至11个字符组成。

(六)VOL——显示磁盘卷标命令

1.功能:查看磁盘卷标号。

2.类型:内部命令

3.格式:VOL[盘符:]

4.使用说明:省略盘符,显示当前驱动器卷标。
七)SCANDISK——检测、修复磁盘命令

1.功能:检测磁盘的FAT表、目录结构、文件系统等是否有问题,并可将检测出的问题加以修复。

2.类型:外部命令

3.格式:SCANDISK[盘符1:]{[盘符2:]…}[/ALL]

4.使用说明:

(1)CCANDISK适用于硬盘和软盘,可以一次指定多个磁盘或选用[/ALL]参数指定所有的磁盘;

(2)可自动检测出磁盘中所发生的交叉连接、丢失簇和目录结构等逻辑上的错误,并加以修复。


(八)DEFRAG——重整磁盘命令

1.。功能:整理磁盘,消除磁盘碎块。

2.类型:外部命令

3.格式:DEFRAG[盘符:][/F]

4.使用说明:选用/F参数,将文件中存在盘上的碎片消除,并调整磁盘文件的安排,确保文件之间毫无空隙。从而加快读盘速度和节省磁盘空间。


(九)SYS——系统复制命令

1.功能:将当前驱动器上的DOS系统文件IO.SYS,MSDOS.SYS和COMMAND.COM 传送到指定的驱动器上。

2.类型:外部命令

3.格式:SYS[盘符:]

*使用说明:如果磁盘剩余空间不足以存放系统文件,则提示:No roomfor on destination disk.

文件操作类命令

(一) COPY文件复制命令

1.功能:拷贝一个或多个文件到指定盘上。

2.类型:内部命令

3.格式:COPY [源盘][路径]〈源文件名〉[目标盘][路径][目标文件名]

4.使用说明:

(1)COPY是文件对文件的方式复制数据,复制前目标盘必须已经格式化;

(2)复制过程中,目标盘上相同文件名称的旧文件会被源文件取代;

(3)复制文件时,必须先确定目标般有足够的空间,否则会出现;insufficient的错误信息,提示磁盘空间不够;

(4)文件名中允许使用通配举“*”“?”,可同时复制多个文件;

(5)COPY命令中源文件名必须指出,不可以省略。

(6)复制时,目标文件名可以与源文件名相同,称作“同名拷贝”此时目标文件名可以省略;

(7)复制时,目标文件名也可以与源文件名不相同,称作“异名拷贝”,此时,目标文件名不能省略;

(8)复制时,还可以将几个文件合并为一个文件,称为“合并拷贝”,格式如下:COPY;[源盘][路径]〈源文件名1〉〈源文件名2〉…[目标盘][路径]〈目标文件名〉;

(9)利用COPY命令,还可以从键盘上输入数据建立文件,格式如下:COPY CON [盘符:][路径]〈文件名〉;

(10)注意:COPY命令的使用格式,源文件名与目标文件名之间必须有空格!


(二)XCOPY——目录复制命令

1.功能:复制指定的目录和目录下的所有文件连同目录结构。

2.类型:外部命令

3.格式:XCOPY [源盘:]〈源路径名〉[目标盘符:][目标路径名][/S][/V][/E]

4.使用说明:


(1)XCOPY是COPY的扩展,可以把指定的目录连文件和目录结构一并拷贝,但不能拷贝隐藏文件和系统文件;

(2)使用时源盘符、源目标路径名、源文件名至少指定一个;

(3)选用/S时对源目录下及其子目录下的所有文件进行COPY。除非指定/E参数,否则/S不会拷贝空目录,若不指定/S参数,则XCOPY只拷贝源目录本身的文件,而不涉及其下的子目录;

(4)选用/V参数时,对的拷贝的扇区都进行较验,但速度会降低。
(三)TYPE——显示文件内容命令

1.功能:显示ASCII码文件的内容。

2.类型:内部命令。

3.格式:TYPE[盘符:][路径]〈文件名〉

4.使用说明:

(1)显示由ASCII码组成的文本文件,对。EXE.COM等为扩展名的文件,其显示的内容是无法阅读的,没有实际意义2;

(2)该命令一次只可以显示一个文件的内容,不能使用通配符;

(3)如果文件有扩展名,则必须将扩展名写上;

(4)当文件较长,一屏显示不下时,可以按以下格式显示;TYPE[盘符:][路径]〈文件名〉|MORE,MORE为分屏显示命令,使用些参数后当满屏时会暂停,按任意键会继续显示。

(5)若需将文件内容打印出来,可用如下格式:

TYPE[盘符:][路径]〈文件名〉,>PRN

此时,打印机应处于联机状态。


(四) REN——文件改名命令

1.功能:更改文件名称

2.类型:内部命令

3.格式:REN[盘符:][路径]〈旧文件名〉〈新文件名〉

4.使用说明:

(1)新文件名前不可以加上盘符和路径,因为该命令只能对同一盘上的文件更换文件名;

(2)允许使用通配符更改一组文件名或扩展名。


(五)FC——文件比较命令

1.功能:比较文件的异同,并列出差异处。


2.类型:外部命令

3.格式:FC[盘符:][路径名]〈文件名〉[盘符:][路径名][文件名][/A][/B][/C][/N]

4.使用说明:

(1)选用/A参数,为ASCII码比较模式;

(2)选用/B参数,为二进制比较模式;

(3)选用/C参数,将大小写字符看成是相同的字符。

(4)选用/N参数,在ASCII码比较方式下,显示相异处的行号。
六)ATTRIB——修改文件属性命令

1.功能:修改指定文件的属性。(文件属性参见2.5.4(二)文件属性一节)

2.类型:外部命令。

3.格式:ATTRIB[文件名][R][——R][A][——A][H][——H][S][——S][/S]

4.使用说明:

(1)选用R参数,将指定文件设为只读属性,使得该文件只能读取,无法写入数据或删除;选用——R参数,去除只读属性;

(2)选用A参数,将文件设置为档案属性;选用——A参数,去除档案属性;

(3)选用H参数,将文件调协为隐含属性;选用——H参数,去隐含属性;

(4)选用S参数,将文件设置为系统属性;选用——S参数,去除系统属性;

(5)选用/S参数,对当前目录下的所有子目录及作设置。

(七) DEL——删除文件命令

1.功能:删除指定的文件。

2.类型:内部命令

3.格式:DEL[盘符:][路径]〈文件名〉[/P]

4.使用说明:

(1)选用/P参数,系统在删除前询问是否真要删除该文件,若不使用这个参数,则自动删除;

(2)该命令不能删除属性为隐含或只读的文件;

(3)在文件名称中可以使用通配符;

(4)若要删除磁盘上的所有文件(DEL*·*或DEL·),则会提示:(Arey ou sure?)(你确定吗?)若回答Y,则进行删除(八) UNDELETE——恢复删除命令

1.功能:恢复被误删除命令

2.类型:外部命令。

3.格式:UNDELETE[盘符:][路径名]〈文件名〉[/DOS]/LIST][/ALL]

4.使用说明:使用UNDELETE可以使用“*”和“?”通配符。

(1)选用/DOS参数根据目录里残留的记录来恢复文件。由于文件被删除时,目录所记载斩文件名第一个字符会被改为E5,DOS即依据文件开头的 E5和其后续的字符来找到欲恢复的文件,所以,UNDELETE会要求用户输入一个字符,以便将文件名字补齐。但此字符不必和原来的一样,只需符合DOS 的文件名规则即可。

(2)选用/LIST只“列出”符合指定条件的文件而不做恢复,所以对磁盘内容完全不会有影响。

(3)选用/ALL自动将可完全恢复的文件完全恢复,而不一一地询问用户,使用此参数时,若UNDELTE利用目录里残留的记录来将文件恢复,则会 自动选一个字符将文件名补齐,并且使其不与现存文件名相同,选用字符的优选顺序为:#%——0000123456789A~Z。

UNDELETE还具有建立文件的防护措施的功能,已超出本课程授课范围,请读者在使用些功能时查阅有关DOS手册。
七、其它命令


(一)CLS——清屏幕命令

1功能:清除屏幕上的所有显示,光标置于屏幕左上角。

2类型:内部命令

3格式:CLS


(二) VER查看系统版本号命令

1功能:显示当前系统版本号

2类型:内部命令

3格式:VER


(三) DATA日期设置命令

1功能:设置或显示系统日期。

2类型:内部命令

3格式:DATE[mm——dd——yy]

4使用说明:

(1)省略[mm——dd——yy]显示系统日期并提示输入新的日期,不修改则可直接按回车键,[mm——dd——yy]为“月月——日日——年年”格式;

(2)当机器开始启动时,有自动处理文件(AUTOEXEC.BAT)被执行,则系统不提示输入系统日期。否则,提示输入新日期和时间。
四) TIME系统时钟设置命令

1功能:设置或显示系统时期。

2类型:内部命令

3格式:TIME[hh:mm:ss:xx]

4使用说明:

(1)省略[hh:mm:ss:xx],显示系统时间并提示输入新的时间,不修改则可直接按回车键,[hh:mm:ss:xx]为“小时:分钟:秒:百分之几秒”格式;

(2)当机器开始启动时,有自动处理文件(AUTOEXEC.BAT)被执行,则系统不提示输入系统日期。否则,提示输入新日期和时间。


(五)MEM查看当前内存状况命令

1功能:显示当前内存使用的情况

2类型:外部命令

3格式:MEM[/C][/F][/M][/P]

4使用说明:

(1)选用/C参数列出装入常规内存和CMB的各文件的长度,同时也显示内存空间的使用状况和最大的可用空间;

(2)选用/F参数分别列出当前常规内存剩余的字节大小和UMB可用的区域及大小;


(3)选用/M参数显示该模块使用内存地地址、大小及模块性质;

(4)选用/P参数指定当输出超过一屏时,暂停供用户查看。


(六) MSD显示系统信息命令

1功能:显示系统的硬件和操作系统的状况。

2类型:外部命令

3格式:MSD[/I][/B][/S]

4使用说明:

(1)选用/I参数时,不检测硬件;

(2)选用/B参数时,以黑白方式启动MSD;

(3)选用/S参数时,显示出简明的系统报告。

如何在DOS下安装XP


说明:DOS下安装XP不是首选,我一般是光盘启动安装的。之所以写这个是因为有很多网友想知道。

如要转贴,请注明出自闻道长安。啊啊 :)

1.准备工作:制作98启动盘(这个不用教吧?)。 然后在WIN98的c:\windows目录里找到FORMAT.EXE和SMARTDRV.EXE两个文件,将其拷到启动盘。

2.将BIOS设为软盘启动(怎么设?我倒!)。

3.用98启动盘重起到DOS下 (注意要加载光驱启动)。

4.在命令提示符下键入:
a:\>format c:/u/q (如果你同时还想要有DOS存在的话,那么就format c:/q/u/s ) 回车
a:\>SMARTDRV.EXE 回车 (运行后没什么提示出现,不过已经运行了)
a:\>x: (进入XP安装程序所在盘)
x:\>cd i386 (进入目录)
x:\i386>winnt.exe (启动安装程序)

好了,可以歇歇了——我也可以歇歇了,打字真累阿。
这样安装的XP最干净。

注意:
1.x代表光盘或硬盘安装盘。有时不好使还要后挪一位,如光盘E,挪一位F。
2.前提是系统盘不是NTFS格式(不然也不叫DOS下安装了)。
3.硬盘安装,如果安装文件不在根目录下,如文件夹里,先输入x:\>cd 文件夹名(不能用中文名,X为硬盘盘符)。

53.网络命令

在DOS下的Microsoft Network Client和Windows 9x的DOS窗口等环境中,有许多很有用的但不包含在DOS自带的命令中的 在DOS下的Microsoft Network Client和Windows 9x的DOS窗口等环境中,有许多很有用的但不包含在DOS自带的命令中的网络命令。那么,有哪些这样的命令呢?下面将它们中常用的命令介绍一下。

Arp

显示和修改“地址解析协议”(ARP) 所使用的到以太网的 IP 或令牌环物理地址翻译表。该命令只有在安装了 TCP/IP 协议之后才可用。
arp -a [inet_addr] [-N [if_addr]]
arp -d inet_addr [if_addr]
arp -s inet_addr ether_addr [if_addr]
参数
-a
通过询问 TCP/IP 显示当前 ARP 项。如果指定了 inet_addr,则只显示指定计算机的 IP 和物理地址。
-g
与 -a 相同。
inet_addr
以加点的十进制标记指定 IP 地址。
-N
显示由 if_addr 指定的网络界面 ARP 项。
if_addr
指定需要修改其地址转换表接口的 IP 地址(如果有的话)。如果不存在,将使用第一个可适用的接口。
-d
删除由 inet_addr 指定的项。
-s
在 ARP 缓存中添加项,将 IP 地址 inet_addr 和物理地址 ether_addr 关联。物理地址由以连字符分隔的 6 个十六进制字节给定。使用带点的十进制标记指定 IP 地址。项是永久性的,即在超时到期后项自动从缓存删除。
ether_addr
指定物理地址。

Finger

在运行 Finger 服务的指定系统上显示有关用户的信息。根据远程系统输出不同的变量。该命令只有在安装了 TCP/IP 协议之后才可用。
finger [-l] [user]@computer[...]
参数
-l
以长列表格式显示信息。
user
指定要获得相关信息的用户。省略用户参数以显示指定计算机上所有用户的信息:
@computer

Ftp

将文件传送到正在运行 FTP 服务的远程计算机或从正在运行 FTP 服务的远程计算机传送文件(有时称作 daemon)。Ftp 可以交互使用。单击“相关主题”列表中的“ftp 命令”以获得可用的“ftp”子命令描述。该命令只有在安装了 TCP/IP 协议之后才可用。Ftp 是一种服务,一旦启动,将创建在其中可以使用 ftp 命令的子环境,通过键入 quit 子命令可以从子环境返回到 Windows 2000 命令提示符。
     当 ftp 子环境运行时,它由 ftp 命令提示符代表。
ftp [-v] [-n] [-i] [-d] [-g] [-s:filename] [-a] [-w:windowsize] [computer]
参数
-v
禁止显示远程服务器响应。
-n
禁止自动登录到初始连接。
-i
多个文件传送时关闭交互提示。
-d
启用调试、显示在客户端和服务器之间传递的所有 ftp 命令。
-g
禁用文件名组,它允许在本地文件和路径名中使用通配符字符(* 和 ?)。(请参阅联机“命令参考”中的 glob 命令。)
-s: filename
指定包含 ftp 命令的文本文件;当 ftp 启动后,这些命令将自动运行。该参数中不允许有空格。使用该开关而不是重定向 (> )。
-a
在捆绑数据连接时使用任何本地接口。
-w:windowsize
替代默认大小为 4096 的传送缓冲区。
computer
指定要连接到远程计算机的计算机名或 IP 地址。如果指定,计算机必须是行的最后一个参数。

Nbtstat

该诊断命令使用 NBT(TCP/IP 上的 NetBIOS)显示协议统计和当前 TCP/IP 连接。该命令只有在安装了 TCP/IP 协议之后才可用。
nbtstat [-a remotename] [-A IP address] [-c] [-n] [-R] [-r] [-S] [-s] [interval]
参数
-a remotename
使用远程计算机的名称列出其名称表。
-A IP address
使用远程计算机的 IP 地址并列出名称表。
-c
给定每个名称的 IP 地址并列出 NetBIOS 名称缓存的内容。
-n
列出本地 NetBIOS 名称。“已注册”表明该名称已被广播 (Bnode) 或者 WINS(其他节点类型)注册。
-R
清除 NetBIOS 名称缓存中的所有名称后,重新装入 Lmhosts 文件。
-r
列出 Windows 网络名称解析的名称解析统计。在配置使用 WINS 的 Windows 2000 计算机上,此选项返回要通过广播或 WINS 来解析和注册的名称数。
-S
显示客户端和服务器会话,只通过 IP 地址列出远程计算机。
-s
显示客户端和服务器会话。尝试将远程计算机 IP 地址转换成使用主机文件的名称。
interval
重新显示选中的统计,在每个显示之间暂停 interval 秒。按 CTRL+C 停止重新显示统计信息。如果省略该参数,nbtstat 打印一次当前的配置信息。

Netstat

显示协议统计和当前的 TCP/IP 网络连接。该命令只有在安装了 TCP/IP 协议后才可以使用。
netstat [-a] [-e] [-n] [-s] [-p protocol] [-r] [interval]
参数
-a
显示所有连接和侦听端口。服务器连接通常不显示。
-e
显示以太网统计。该参数可以与 -s 选项结合使用。
-n
以数字格式显示地址和端口号(而不是尝试查找名称)。
-s
显示每个协议的统计。默认情况下,显示 TCP、UDP、ICMP 和 IP 的统计。-p 选项可以用来指定默认的子集。
-p protocol
显示由 protocol 指定的协议的连接;protocol 可以是 tcp 或 udp。如果与 -s 选项一同使用显示每个协议的统计,protocol 可以是 tcp、udp、icmp 或 ip。
-r
显示路由表的内容。
interval
重新显示所选的统计,在每次显示之间暂停 interval 秒。按 CTRL+B 停止重新显示统计。如果省略该参数,netstat 将打印一次当前的配置信息。

Ping

验证与远程计算机的连接。该命令只有在安装了 TCP/IP 协议后才可以使用。
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
参数
-t
Ping 指定的计算机直到中断。
-a
将地址解析为计算机名。
-n count
发送 count 指定的 ECHO 数据包数。默认值为 4。
-l length
发送包含由 length 指定的数据量的 ECHO 数据包。默认为 32 字节;最大值是 65,527。
-f
在数据包中发送“不要分段”标志。数据包就不会被路由上的网关分段。
-i ttl
将“生存时间”字段设置为 ttl 指定的值。
-v tos
将“服务类型”字段设置为 tos 指定的值。
-r count
在“记录路由”字段中记录传出和返回数据包的路由。count 可以指定最少 1 台,最多 台计算机。
指定要 ping 的远程计算机。

Rcp

在 Windows 2000 计算机和运行远程外壳端口监控程序 rshd 的系统之间复制文件。rcp 命令是一个连接命令,从 Windows 2000 计算机发出该命令时,也可以用于其他传输在两台运行 rshd 的计算机之间复制文件。rshd 端口监控程序可以在 UNIX 计算机上使用,而在 Windows 2000 上不能使用,所以 Windows 2000 计算机仅可以作为发出命令的系统参与。远程计算机必须也通过运行 rshd 提供 rcp 实用程序。
rcp [-a | -b] [-h] [-r] source1 source2 ... sourceN destination
参数
-a
指定 ASCII 传输模式。此模式在传出文件上将回车/换行符转换为回车符,在传入文件中将换行符转换为回车/换行符。该模式为默认的传输模式。
-b
指定二进制图像传输模式。没有执行回车/换行符转换。
-h
传输 Windows 2000 计算机上标记为隐藏属性的源文件。如果没有该选项,在 rcp 命令行上指定隐藏文件的效果与文件不存在一样。
-r
将源的所有子目录内容递归复制到目标。source 和 destination 都必须是目录,虽然即使源不是目录,使用 -r 也能够工作。但将没有递归。
source 和 destination
格式必须为 [computer[.user]:]filename。如果忽略了 [computer[.user]:] 部分,计算机将假定为本地计算机。如果省略了 [.user] 部分,将使用当前登录的 Windows 2000 用户名。如果使用了完全合格的计算机名,其中包含句点 (.) 分隔符,则必须包含 [.user]。否则,计算机名的最后部分将解释为用户名。如果指定了多个源文件,则 destination 必须是目录。
如果文件名不是以 UNIX 的正斜杠 (/) 或 Windows 2000 系统的反斜杠 (\) 打头,则假定相对于当前的工作目录。在 Windows 2000 中,这是发出命令的目录。在远程系统中,这是远程用户的登录目录。句点 (.) 表示当前的目录。在远程路径中使用转义字符(\、" 或 '),以便在远程计算机中使用通配符。

Rexec

在运行 REXEC 服务的远程计算机上运行命令。rexec 命令在执行指定命令前,验证远程计算机上的用户名,只有安装了 TCP/IP 协议后才可以使用该命令。
rexec computer [-l username] [-n] command
参数
computer
指定要运行 command 的远程计算机。
-l username
指定远程计算机上的用户名。
-r
将 rexec 的输入重定向到 NULL。
command
指定要运行的命令。

Route

控制网络路由表。该命令只有在安装了 TCP/IP 协议后才可以使用。
route [-f] [-p] [command [destination] [mask subnetmask] [gateway] [metric costmetric]]
参数
-f
清除所有网关入口的路由表。如果该参数与某个命令组合使用,路由表将在运行命令前清除。
-p
该参数与 add 命令一起使用时,将使路由在系统引导程序之间持久存在。默认情况下,系统重新启动时不保留路由。与 print 命令一起使用时,显示已注册的持久路由列表。忽略其他所有总是影响相应持久路由的命令。
command
指定下列的一个命令。
命令 目的
print 打印路由
add 添加路由
delete 删除路由
change 更改现存路由
destination
指定发送 command 的计算机。
mask subnetmask
指定与该路由条目关联的子网掩码。如果没有指定,将使用 255.255.255.255。
gateway
指定网关。
名为 Networks 的网络数据库文件和名为 Hosts 的计算机名数据库文件中均引用全部 destination 或 gateway 使用的符号名称。如果命令是 print 或 delete,目标和网关还可以使用通配符,也可以省略网关参数。
metric costmetric
指派整数跃点数(从 1 到 9999)在计算最快速、最可靠和(或)最便宜的路由时使用。
Rsh
在运行 RSH 服务的远程计算机上运行命令。该命令只有在安装了 TCP/IP 协议后才可以使用。
rsh computer [-l username] [-n] command
参数
computer
指定运行 command 的远程计算机。
-l username
指定远程计算机上使用的用户名。如果省略,则使用登录的用户名。
-n
将 rsh 的输入重定向到 NULL。
command
指定要运行的命令。

Tftp

将文件传输到正在运行 TFTP 服务的远程计算机或从正在运行 TFTP 服务的远程计算机传输文件。该命令只有在安装了 TCP/IP 协议后才可以使用。
tftp [-i] computer [get | put] source [destination]
参数
-i
指定二进制图像传送模式(也称为“八位字节”)。在二进制图像模式中,文件一个字节接一个字节地逐字移动。在传送二进制文件时使用该模式。
如果省略了 -i,文件将以 ASCII 模式传送。这是默认的传送模式。此模式将 EOL 字符转换为 UNIX 的回车符和个人计算机的回车符/换行符。在传送文本文件时应使用此模式。如果文件传送成功,将显示数据传输率。

54、批处理!
一、基本概念:

顾名思义,所谓“批处理”就是“成批处理”,指用一个命令执行多个命令,其中的一个命令就是指批处理文件扩展名为bat的文件,最常见的批处理文件就是Autoexec.bat,电脑启动时会自动查找这个批处理命令,如果找到就会自动运行;多个命令是指普通的DOS命令或程序如copy(复制),md(创建一个文件夹),del(删除文件)等,另外也可以指批处理专用的命令,我们称之为批处理命令,如if(如果)for(条件)goto(转到)等。


二、如何制作批处理命令?

这是初学者经常提到的问题,下面以一个Windows98的Autoexec.bat为例,讲述如何制作一个批处理文件,为了使原来的C:\Autoexec.bat不受影响,请事先将该文件备。
(一)DOS下的制作方法:
在DOS下制作批处理需要使用纯文本编辑命令:Edit.exe。下面是详细的制作步骤:
1 进入DOS
2 输入edit c:\autoexec.bat回车,出现一个蓝色界面,输入以下内容,如图:

@echo off echo off表示不显示以下命令行,@表示不显示本行 path=c:\windows;c:\windows\command 设置Windows 自身安装的DOS 外部命令存放位置,以便于直接使用外部命令。
set temp=c:\windows\temp 设置Windows临时文件存放位置
c:\windows\command\mscdex /d:mscd000 让DOS能识别光驱
lh doskey 把命令存储命令放入高端内存,在DOS状态下Doskey命令可以让你使用上下光标键翻阅选择原来输入过的命令,就如同Windows浏览器里面的历史记录一样。
cls 清除屏幕显示

3 按Alt+F组合键激活文件菜单,选Exit,回车,出现一个对话框按Y键或者直接回车即可保存退出

(二)Windows下的制作方法: 使用记事本编辑步骤是:
1 点击开始--程序--附件--记事本
2 输入如图里面所表示的内容

3 用鼠标单击文件下拉菜单选择“退出”,单击“保存”,如图2,至此完成制作,大功告成。 好了一个批处理文件就这样制作,完成了是不是很简单。

55.批处理2

一、巧设开机密码

背景:
不想让别人打开或进入自己的电脑方法有很多方法,但用得多了破解也变得容易了(破解文章的作用),本例也有破解方法,但旨在提供思路,可能会有出奇制胜的效果
原理:
障眼法,利用Choice命令等待输入一个字符,Echo命令显示错误信息达到加密目的。
编程:
用记事本打开或EDIT新建Autoexec.bat,输入以下内容:
@echo off
echo non-system disk or disk error
choice /c:#/n
使用:
开机时显示non-system disk or disk error,造成“死机”的假象,别人看了会吓一跳,如果是你自己开的机,可以从容地输入#(相当于开机密码,也可以换成其它字符),即可让电脑继续运行直至进入桌面。

二、吓退非法来客

背景:
如果认为上面例子的威力不够,可以用这个程序试试。
原理:用Echo命令显示每行80个_(80个下划线),再用Goto命令设置一个死循环程序,以达到屏幕花屏的效果(是不是更唬人呢?)
编程:
打开记事本新建C:\Windows\Winstart.bat,输入以下内容:
@echo off
abc echo _ _是英文下划线,为了节省篇幅,这里只输入1个,在实际中请输入80个_才能达到效果
goto abc
使用:
当别人打开你的电脑时会以为显示器坏了或有病毒了,以达到吓退非法来客的目的,如果是你开机,暂时中止的方法:按Ctrl+Break组合键,再按Y键。彻底解除的方法:开机按F8进入DOS,把C:\Windows\Winstart.bat文件删除即可恢复。
注意:禁止用于吓唬胆小的女生

三、屏蔽危险命令

背景:
近来网页病毒十分猖獗,只要浏览就会发作,轻则删除文件,重则格式化硬盘,无所不为,其实其作案工具非常简陋,就是DOS命令中的Deltree和Format,以前一般采用删除这两个命令或用超级兔子魔法设置屏蔽,这两种方法都有缺点。其实编个批处理文件就可以完全解决。
原理:
Ren(改名命令)与3个自动批处理文件Autoexec.bat,Winstart.bat,Dosstart.bat巧妙配合编程:
1 在Winstart.bat中加入两行内容:
ren c:\windows\command\deltree.exe deltree.ex_
ren c:\windows\command\format format.co_
2 分别在Autoexec.bat和Dosstart.bat也加入两行内容:
ren c:\windows\command\ deltree.ex_ deltree.exe
ren c:\windows\command\ format.co_ format
使用:
在Windows下无法使用这两个命令,以达到预防网页病毒的目的,但是在DOS实模式下可以正常使用。

本文小提示:
Autoexec.bat:开机后自动运行的批处理文件
Winstart.bat:选择进入Windows时会运行的批处理文件
Dosstart.bat:在Windows中选择关机重新启动计算机到MS-DOS方式后运行的批处理文件
以上3个文件的共同点是:都叫自动批处理文件;不同点是:执行的时间段不同。

56.批处理3

DOS下的可执行文件有三种,分别是EXE,COM和BAT。其中,EXE和COM文件都是二进制形式的,只有BAT文件是文本形式的,可以直接阅读。因此,BAT文件和以上二进制可执行文件相比,内容要简单的多。这些文件内包含着DOS命令的集合,通常叫作批处理文件。批处理文件的组成虽然比较简单,但其用处非常大,使用也比较广泛。比如每次都执行一些相同的命令,您一定会觉得非常麻烦,而放在批处理文件中执行的话则轻松得多。AUTOEXEC.BAT就是一个特殊的批处理文件,它在DOS的启动时自动运行,在系统的配置中发挥着非常大的作用。因此,要学好DOS,就要学好批处理文件。下面介绍批处理文件的命令及其使用。

DOS自带的批处理命令:

@ :将这个符号放在批文件中其它命令的前面,运行时将不显示命令本身。
如@ECHO OFF命令就在批文件首经常用到。

CALL :从一个批文件中调用另一个批文件,调用完后继续执行原来的批文件。
用法:CALL [批文件名]
注:也可以使用COMMAND /C命令完成同样的操作。

CHOICE :选择命令。这是一个DOS外部命令,但它主要用在批文件中。
CHOICE命令执行后将提示可选择的项目,这时通过一个按键来选则。
用法:CHOICE:[/C[:]按键表] [/N] [/S] [/T[:]选择值,秒数] [显示文本]
其中,/C表示可选则的按键,/N表示不要显示提示信息,/S表示大小写字符敏感方式,/T表示若在批定的时间内没有选则的话,自动执行/C中定义的某个选择值。显示文本是CHOICE命令执行时的提示信息。选择结果将用ERRORLEVEL值来表示。

ECHO :显示指定的信息。通常显示在屏幕上。
如ECHO Hello将在屏幕上显示Hello的字样。
另外,ECHO ON|OFF用来设置在批文件执行时是否显示命令本身。而ECHO OFF与@的意思一样,但它是一个单独的命令,而不能像@那样放在其它命令之前。

FOR :对于指定的文件运行相应的命令。
大家知道,DOS下许多命令支持通配符,如?和*,可以一次指定一批文件,非常方便。然而,并非所有的DOS命令都支持通配符,如TYPE(文件内容显示命令)就不支持。有了FOR命令就没有关系了,利于它可以使TYPE命令可以一次显示多个文件。
用法:FOR %变量名 IN (文件集) DO 命令 [命令参数]
注:以上是FOR命令的固定形式,IN和DO的位置必须正确,否则将提示语法错误。
如FOR %F IN (*.*) DO TYPE %F命令就可以实现TYPE命令一次显示多个文件。
注:%F是变量名,也可用%G等代替,但前后必须一致。在批文件中用%%F代替。

GOTO :转到批文件内部的某个标号下执行。
大家知道,在编程中往往需要重复或跳转到某个地方继续执行,如BASIC语言中的GOTO命令。批文件中的GOTO命令也可以完成类似的功能。
用法:GOTO [标号名]
其中,标号名是可以随意设置的,如Hello等。设置标号用“:”符号,如“:Hello”,这时用GOTO Hello命令将转到“:Hello”所在的位置继续执行批文件。

IF :条件判断命令。这是一项很有用的批处理命令。
用法1:IF [NOT] EXIST 文件名 命令 [命令参数]
意义:如果[不]存在某个文件将执行某个命令。
用法2:IF [NOT] ERRORLEVEL 错误返回代号 命令 [命令参数]
意义:如果错误返回代号[不]大于或等于指定的代号将执行某个命令。
其中,ERRORLEVEL表示错误返回代号,很有用。对于很多DOS命令,由于执行的结果不同(如执行成功,执行失败,或被用户中断等),这些命令会返回不同的代号,以表示不同的结果。IF ERRORLEVEL命令就根据这个不同结果而产生的不同代号来执行不同的命令,通常用在某条命令之后。如IF ERRORLEVEL 1 ECHO OK!表示如果当前的错误返回代号大于或等于1时将在屏幕上显示“OK!”的字样。
用法3:IF [NOT] 字符串1==字符串2 命令 [命令参数]
意义:当字符串1和字符串2[不]相等的时候执行某个命令。

PAUSE :暂停批文件的执行,并显示“按任意键继续”的字样。

REM :添加注解。用于增加文件可读性,将不被执行。也可以用::来代替。

SHIFT :在批文件中改变可替换参数的位置。
可替换参数是一种特殊的参数,只能用在批文件中。这些参数是由使用者在执行批处理命令时输入的。比如,我们执行DIR /S /W命令,其中DIR是命令名,/S和/W是它的执行参数。在批文件中,这些命令参数将被分别赋予到可替换参数中,如/S就成的%1,/W就可了%2,以至类推,而命令本身则被赋予%0中。批文件就是利用可替换参数对执行时输入的参数来进行操作的。比如现在有个批处理文件叫MYFILE.BAT,在命令行下执行MYFILE.BAT YES,于是%0的值就是MYFILE.BAT,%1的值就是“YES”,可以在此批文件中用IF等命令判断出%1等参数的值,然后根据这些值的不同执行不同的操作,如IF "%1"=="YES" GOTO YES。
SHIFT命令不带任何参数,执行结果是将%0的值换成原%1的值,而原%1的值变成的原%2的值,以此类推。注意它的不可逆转性。因为批处理文件执行时的运行参数可能很多,可能会超过10个,而可替换参数只能从%0到%9,若想取得%9以后的参数值,只能使用SHIFT命令。这时,整个参数列将向前推。

以上是DOS的自带批处理命令,可以看出,这些命令是非常少的,若要编写较复杂的程序,用以上的命令显然不可能实现。这时就需要其它实用的批处理工具了,著名且实用的有TESTIF,STRING,ASET,BATCHMAN,WBAT等,均可在“DOS软件分类下载”中的“脚本工具”中下载。在批处理文件中使用以上的工具可以实现非常强大的功能,甚至可以完成许多高级语言程序的功能。所以,如果您想编者按写批处理文件的话,它们是您不错的选择,不仅有详细的文档,而且还在不断发展中。

下面就要谈批处理文件的制作了。其实制作批处理文件并不难,只要掌握了方法就行了。随着您操作次数的增多,您会觉得越来越容易的。

首先使用一个文本编辑器,如DOS自带的EDIT命令或其它的编辑工具,如PEDIT等新建一个空白文件(当然,用COPY CON命令直接创建也行),然后在其中根据您想完成的功能输入批处理命令。如果您只是想执行一些的DOS命令的集合,则按顺序在每行输入一个DOS命令就行了。但如果您是想完成一些更复杂的操作,就需要以上的批处理命令或上述的批处理工具了。

以下是我原来所编的一个从1%慢慢增加到100%的批处理小程序,大家可以用作参考,以编写自己的程序。

@echo off
break off
cls
set c=0
writext 10 1 Wait...
be delay 4
:loop
writext 10 9 %c%%%?completed.
count c
if not %c%==101 goto loop
echo.
set c=
kpush /f
break on

其中,我用到了WRITEXT,COUNT,BE和KPUSH,这些都是批处理工具。WRITEXT是ECHO的增强工具,可以自定义显示的效果。COUNT是变量的计算工具,如原来C的值为1,执行COUNT C后C的值就为2。BE是个强大的批处理增强工具,在Norton Utilties 8.0中带有。KPUSH是键盘缓冲工具。

总之,利用批处理命令和批处理增强工具,我们可以编出许多强大的批处理文件来,大家不妨一试。许多批处理工具可以在“脚本工具”中下载。

57、编辑注册表

在DOS方式下也能对注册表进行 在DOS方式下也能对注册表进行编程?是的。当您的Windows95/98因注册表问题而无法启动到图形界面时,您此时只有在DOS下对注册表进行手术了。因为注册表编辑器Regedit.exe其实是一个双栖型的程序,既可在DOS下运行,也可在Windows95/98下运行。许多用户可能已经知道在Windows下使用Regedit的方法,那么,要掌握DOS方式下对注册表的编程,首先要了解在DOS下如何使用注册表编辑器。
  在DOS提示符下键入Regedit命令,将出现一个帮助屏幕。此屏幕给出了其命令行参数及其使用方法。
  语法: Regedit [/L:system] [/R:user] filename1
  Regedit [/L:system] [/R:user] /C filename2
  Regedit [/L:system] [/R:user] /E filename3 [regpath]
  其中:
  /L:system 指定system.dat文件的存放位置。
  /R:user 指定user.dat文件的存放位置。
filename1 指定引入注册表数据库的文件名。
  /C filename2 指定形成注册表数据库的文件名。
  /E filename3 指定导出注册表文件的文件名。
  regpath 指定导出注册表文件的开始关键字(缺省为全部关键字)
  现举几个例子说明regedit.exe在DOS下的使用方法。
  【例1】 将系统注册表数据库registry导出到reg1.reg文件中。
   regedit /E reg1.reg
  【例2】 reg1.reg形成系统注册表数据库registry(全部)中。
  regedit /C reg1.reg
  【例3】 将reg.dat引入系统注册表数据库中(部分)。
  regedit reg.dat
  【例4】 将CJH开始的关键字导出注册表数据库,并命名为cjh.reg。  
  regedit /E cjh.reg cjh
  【例5】 指定system/dat存放在D:\PWIN中和user.dat存放在E:\PWIN中,将reg.dat数据文件形成一个新的注册表数据库registry。
   regedit /L:\PWIN /R:E:\PWIN /C reg.dat

有了以上这些知识,结合在《对注册表进行编程的“捷径”》里讲过的关于导入或导出的注册表文件(*.REG),我们就可以在DOS方式下对注册表进行编程了。

我们还是以更改“*.txt”文件的默认打开方式——“记事本”为“写字板”为例。首先在MS-DOS提示符下导出“HKEY_CLASSES_ROOT\txtfile”子键这一分支,即执行命令:

   regedit /E txt.reg HKEY_CLASSES_ROOT\txtfile

  然后用DOS下的EDIT编辑器打开txt.reg文件进行编辑:将其中所有的“C:\\WINDOWS\\NOTEPAD.EXE”全部改成“C:\\WINDOWS\\WRITE.EXE”,存盘退出EDIT,再在命令行下执行命令:

   regedit txt.reg

   便大功告成了。
  当然,严格来说,这并不是编程。如果一定要编程实现的话,我们可以将以上过程写成一批处理文件chang.bat:

@echo off
path=c:\windows;c:\windows\command;c:\dos
cls
echo 正在导出注册表……
   regedit /E txt.reg HKEY_CLASSES_ROOT\txtfile
echo.
echo 注册表导出完毕!按任一键开始编辑注册表……
echo.
pause
edit txt.reg
echo 正在将修改后的注册表导入……
regedit txt.reg
echo 恭喜您!在MS-DOS方式下成功修改了注册表!
pause
cls
@echo on

   充分发挥EDIT编辑器的强大功能,我们可以在遵循导出的注册表文件的格式的前提下,对注册表进行随心所欲的修改、删除或者增加任一子键。如果觉得这还不够程序化,您可以发挥DOS环境下各种程序设计语言的优势,加上交互性的界面,将这一过程真正的程序化,应该丝毫不亚于Windows状态下的利用API函数做出来的效果。有兴趣的朋友可以试一试。

58、FTP命令详解

FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操作系统下使用FTP,都会遇到大量的FTP内部命令。熟悉并灵活应用FTP的内部命令,可以大大方便使用者,并收到事半功倍之效。下面以Win9x的DOS窗口中的FTP命令为例,介绍一下其用法。(本站注:若想在纯DOS下使用FTP命令,则需先加载网络设备如网卡或调制解调器的Packet驱动程序,再使用本站“网络工具”中的Wattcp FTP程序,其用法与下面介绍的类似,详情请见本站的“DOS使用”栏目)

FTP的命令行格式为: ftp -v -d -i -n -g [主机名] ,其中
-v 显示远程服务器的所有响应信息;
-n 限制ftp的自动登录,即不使用;
.n etrc文件;
-d 使用调试方式;
-g 取消全局文件名。
FTP使用的内部命令如下(中括号表示可选项):
1.![cmd[args]:在本地机中执行交互shell,exit回到ftp环境,如:!ls*.zip
2.$ macro-ame[args]: 执行宏定义macro-name。
3.account[password]: 提供登录远程系统成功后访问系统资源所需的补充口令。
4.append local-file[remote-file]:将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。
5.ascii:使用ascii类型传输方式。
6.bell:每个命令执行完毕后计算机响铃一次。
7.bin:使用二进制文件传输方式。
8.bye:退出ftp会话过程。
9.case:在使用mget时,将远程主机文件名中的大写转为小写字母。
10.cd remote-dir:进入远程主机目录。
11.cdup:进入远程主机目录的父目录。
12.chmod mode file-name:将远程主机文件file-name的存取方式设置为mode,如:chmod 777 a.out。
13.close:中断与远程服务器的ftp会话(与open对应)。
14.cr:使用asscii方式传输文件时,将回车换行转换为回行。
15.delete remote-file:删除远程主机文件。
16.debug[debug-value]:设置调试方式, 显示发送至远程主机的每条命令,如:deb up 3,若设为0,表示取消debug。
17.dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本地文件local-file。
18.disconnection:同close。
19.form format:将文件传输方式设置为format,缺省为file方式。
20.get remote-file[local-file]: 将远程主机的文件remote-file传至本地硬盘的local-file。
21.glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。
22.hash:每传输1024字节,显示一个hash符号(#)。
23.help[cmd]:显示ftp内部命令cmd的帮助信息,如:help get。
24.idle[seconds]:将远程服务器的休眠计时器设为[seconds]秒。
25.image:设置二进制传输方式(同binary)。
26.lcd[dir]:将本地工作目录切换至dir。
27.ls[remote-dir][local-file]:显示远程目录remote-dir, 并存入本地文件local-file。
28.macdef macro-name:定义一个宏,遇到macdef下的空行时,宏定义结束。
29.mdelete[remote-file]:删除远程主机文件。
30.mdir remote-files local-file:与dir类似,但可指定多个远程文件,如:mdir *.o.*.zipoutfile 。
31.mget remote-files:传输多个远程文件。
32.mkdir dir-name:在远程主机中建一目录。
33.mls remote-file local-file:同nlist,但可指定多个文件名。
34.mode[modename]:将文件传输方式设置为modename, 缺省为stream方式。
35.modtime file-name:显示远程主机文件的最后修改时间。
36.mput local-file:将多个文件传输至远程主机。
37.newer file-name: 如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。
38.nlist[remote-dir][local-file]:显示远程主机目录的文件清单,并存入本地硬盘的local-file。
39.nmap[inpattern outpattern]:设置文件名映射机制, 使得文件传输时,文件中的某些字符相互转换, 如:nmap $1.$2.$3[$1,$2].[$2,$3],则传输文件a1.a2.a3时,文件名变为a1,a2。 该命令特别适用于远程主机为非UNIX机的情况。
40.ntrans[inchars[outchars]:设置文件名字符的翻译机制,如ntrans1R,则文件名LLL将变为RRR。
41.open host[port]:建立指定ftp服务器连接,可指定连接端口。
42.passive:进入被动传输方式。
43.prompt:设置多个文件传输时的交互提示。
44.proxy ftp-cmd:在次要控制连接中,执行一条ftp命令, 该命令允许连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建立两个服务器间的连接。
45.put local-file[remote-file]:将本地文件local-file传送至远程主机。
46.pwd:显示远程主机的当前工作目录。
47.quit:同bye,退出ftp会话。
48.quote arg1,arg2...:将参数逐字发至远程ftp服务器,如:quote syst.
49.recv remote-file[local-file]:同get。
50.reget remote-file[local-file]:类似于get, 但若local-file存在,则从上次传输中断处续传。
51.rhelp[cmd-name]:请求获得远程主机的帮助。
52.rstatus[file-name]:若未指定文件名,则显示远程主机的状态, 否则显示文件状态。
53.rename[from][to]:更改远程主机文件名。
54.reset:清除回答队列。
55.restart marker:从指定的标志marker处,重新开始get或put,如:restart 130。
56.rmdir dir-name:删除远程主机目录。
57.runique:设置文件名唯一性存储,若文件存在,则在原文件后加后缀.1,.2等。
58.send local-file[remote-file]:同put。
59.sendport:设置PORT命令的使用。
60.site arg1,arg2...:将参数作为SITE命令逐字发送至远程ftp主机。
61.size file-name:显示远程主机文件大小,如:site idle 7200。
62.status:显示当前ftp状态。
63.struct[struct-name]:将文件传输结构设置为struct-name, 缺省时使用stream结构。
64.sunique:将远程主机文件名存储设置为唯一(与runique对应)。
65.system:显示远程主机的操作系统类型。
66.tenex:将文件传输类型设置为TENEX机的所需的类型。
67.tick:设置传输时的字节计数器。
68.trace:设置包跟踪。
69.type[type-name]:设置文件传输类型为type-name,缺省为ascii,如:type binary,设置二进制传输方式。
70.umask[newmask]:将远程服务器的缺省umask设置为newmask,如:umask 3
71.user user-name[password][account]:向远程主机表明自己的身份,需要口令时,必须输入口令,如:user anonymous my@email。
72.verbose:同命令行的-v参数,即设置详尽报告方式,ftp 服务器的所有响应都将显示给用户,缺省为on.
73.?[cmd]:同help.

59.debug命令

数据输入到指定字节中的信息,请单击“相关主题”列表中的 Debug E(键入)。

有关反汇编字节的信息,请单击“相关主题”列表中的 Debug U(反汇编)。


说明

使用记忆码

段的替代记忆码为 cs:、ds:、es: 和 ss:。远程返回的记忆码是 retf。字符串处理的记忆码必须明确声明字符串大小。例如,使用 movsw 可以移动 16 位的字串,使用 movsb 可以移动 8 位字节串。


汇编跳转和调用

汇编程序根据字节替换自动将短、近和远的跳转及调用汇编到目标地址。通过使用 near 或 far 前缀可以替代这样的跳转或调用,如下例所示:

-a0100:0500
0100:0500 jmp 502 ; a 2-byte short jump
0100:0502 jmp near 505 ; a 3-byte near jump
0100:0505 jmp far 50a ; a 5-byte far jump

可以将 near 前缀缩写为 ne。


区分字和字节内存位置

当某个操作数可以引用某个字内存位置或者字节内存位置时,必须用前缀 word ptr 或者前缀 byte ptr 指定数据类型。可接受的缩写分别是 wo 和 by。以下范例显示两种格式:

dec wo [si]
neg byte ptr [128]


指定操作数

Debug 使用包括在中括号 ([ ]) 的操作数引用内存地址的习惯用法。这是因为另一方面 Debug 不能区分立即操作数和内存地址的操作数。以下范例显示两种格式:

mov ax,21 ; load AX with 21h
mov ax,[21] ; load AX with the
; contents of
; memory location 21h


使用伪指令

使用 a 命令提供两个常用的伪指令:db 操作码,将字节值直接汇编到内存,dw 操作码,将字值直接汇编到内存。以下是两个伪指令的范例:

db 1,2,3,4,"THIS IS AN EXAMPLE"
db 'THIS IS A QUOTATION MARK:"'
db "THIS IS A QUOTATION MARK:'"
dw 1000,2000,3000,"BACH"


范例

a 命令支持所有形式的间接注册命令,如下例所示:

add bx,34[bp+2].[si-1]
pop [bp+di]
push [si] )

还支持所有操作码同义词,如下例所示:

loopz 100
loope 100
ja 200
jnbe 200

对于 8087 操作码,必须指定 wait 或 fwait 前缀,如下例所示:

fwait fadd st,st(3) ; this line assembles
; an fwait prefix


Debug:C(比较)


比较内存的两个部分。


c range address


参数

range

指定要比较的内存第一个区域的起始和结束地址,或起始地址和长度。有关有效的 range 值的信息,请单击“相关主题”列表中的“Debug 说明”。

address

指定要比较的第二个内存区域的起始地址。有关有效 address 值的信息,请单击“相关主题”列表中的“Debug 说明”。


说明

如果 range 和 address 内存区域相同,Debug 将不显示任何内容而直接返回到 Debug 提示符。如果有差异,Debug 将按如下格式显示:
address1 byte1 byte2 addess2

范例

以下命令具有相同效果:

c100,10f 300
c100l10 300

每个命令都对 100h 到 10Fh 的内存数据块与 300h 到 30Fh 的内存数据块进行比较。

Debug 响应前面的命令并显示如下信息(假定 DS = 197F):

197F:0100 4D E4 197F:0300
197F:0101 67 99 197F:0301
197F:0102 A3 27 197F:0302
197F:0103 35 F3 197F:0303
197F:0104 97 BD 197F:0304
197F:0105 04 35 197F:0305
197F:0107 76 71 197F:0307
197F:0108 E6 11 197F:0308
197F:0109 19 2C 197F:0309
197F:010A 80 0A 197F:030A
197F:010B 36 7F 197F:030B
197F:010C BE 22 197F:030C
197F:010D 83 93 197F:030D
197F:010E 49 77 197F:030E
197F:010F 4F 8A 197F:030F

注意列表中缺少地址 197F:0106 和 197F:0306。这表明那些地址中的值是相同的。


Debug(转储)


显示一定范围内存地址的内容。


d [range]


参数

range

指定要显示其内容的内存区域的起始和结束地址,或起始地址和长度。有关有效的 range 值的信息,请单击“相关主题”列表中的“Debug 说明”。如果不指定 range,Debug 程序将从以前 d 命令中所指定的地址范围的末尾开始显示 128 个字节的内容。

有关显示寄存器内容的信息,请单击“相关主题”列表中的 Debug R(寄存器)。


说明
当使用 d 命令时,Debug 以两个部分显示内存内容:十六进制部分(每个字节的值都用十六进制格式表示)和 ASCII 码部分(每个字节的值都用 ASCII 码字符表示)。每个非打印字符在显示的 ASCII 部分由句号 (.) 表示。每个显示行显示 16 字节的内容,第 8 字节和第 9 字节之间有一个连字符。每个显示行从 16 字节的边界上开始。

范例
假定键入以下命令:
dcs:100 10f
Debug 按以下格式显示范围中的内容:
04BA:0100 54 4F 4D 00 53 41 57 59-45 52 00 00 00 00 00 00 TOM.SAWYER......
如果在没有参数的情况下键入 d 命令,Debug 按以前范例中所描述的内容来编排显示格式。显示的每行以比前一行的地址大 16 个字节(如果是显示 40 列的屏幕,则为 8 个字节)的地址开头。
对于后面键入的每个不带参数的 d 命令,Debug 将紧接在最后显示的命令后立即显示字节内容。
如果键入以下命令,Debug 将从 CS:100 开始显示 20h 个字节的内容:
dcs:100 l 20
如果键入以下命令,Debug 将显示范围从 CS 段的 100h 到 115h 中所有字节的内容:
dcs:100 115

Debug:E(键入)

将数据输入到内存中指定的地址。
可以按十六进制或 ASCII 格式键入数据。以前存储在指定位置的任何数据全部丢失。

e address [list]

参数
address
指定输入数据的第一个内存位置。
list
指定要输入到内存的连续字节中的数据。
有关集成记忆码的信息,请单击“相关主题”列表中的 Debug A(汇编)。
有关显示内存部分内容的信息,请单击“相关主题”列表中的 Debug D (转储)。

说明

使用 address 参数

如果在没有指定可选的 list 参数的值情况下指定 address 的值,Debug 将显示地址和内容,在下一行重复地址,并等待您的输入。此时,您可以执行下列操作之一:

替换字节值。为此,请在当前值后键入新值。如果您键入的值不是有效的十六进制值,或该值包含两个以上的数字,则 Debug 不会回显无效或额外的字符。
进入下一个字节。为此,请按 SPACEBAR(空格键)。要更改该字节中的值,请在当前值后键入新值。如果按 SPACEBAR(空格键)时,移动超过了 8 位界限,Debug 程序将显示新的一行并在行首显示新地址。
返回到前一个字节。为此,请按 HYPHEN 键 (-)。可以反复按 HYPHEN 键 (-) 向后移动超过多个字节。在按 HYPHEN 时,Debug 开始新行并显示当前地址和字节值。
停止执行 e 命令。为此,请按 ENTER 键。在任何字节位置都可以按 ENTER。
使用 list 参数

如果指定 list 参数的值,随后的 e 命令将使用列表中的值替换现有的字节值。如果发生错误,将不更改任何字节值。

List 值可以是十六进制字节或字符串。使用空格、逗号或制表符来分隔值。必须将字符串包括在单或双引号中。

范例

假定键入以下命令:

ecs:100

Debug 按下面的格式显示第一个字节的内容:

04BA:0100 EB.

要将该值更改为 41,请在插入点键入 41,如下所示:

04BA:0100 EB.41_

可以用一个 e 命令键入连续的字节值。在键入新值后按 SPACEBAR(空格键),而不是按 ENTER 键。Debug 显示下一个值。在此范例中,如果按三次 SPACEBAR(空格键),Debug 将显示下面的值:

04BA:0100 EB.41 10. 00. BC._

要将十六进制值 BC 更改为 42,请在插入点键入 42,如下所示:

04BA:0100 EB.41 10. 00. BC.42_

假定决定值 10 应该是 6F。要纠正该值,请按 HYPHEN 键两次以返回到地址 0101(值 10)。Debug 显示以下内容:

04BA:0100 EB.41 10. 00. BC.42-
04BA:0102 00.-
04BA:0101 10._

在插入点键入 6f 更改值,如下所示:

04BA:0101 10.6f_

按 ENTER 停止 e 命令并返回到 Debug 提示符下。

以下是字符串项的范例:

eds:100 "This is the text example"

该字符串将从 DS:100 开始填充 24 个字节

Debug:F(填充)

使用指定的值填充指定内存区域中的地址。

可以指定十六进制或 ASCII 格式表示的数据。任何以前存储在指定位置的数据将会丢失。


f range list


参数

range

指定要填充内存区域的起始和结束地址,或起始地址和长度。关于有效的 range 值的信息,请单击“相关主题”列表中的“Debug 说明”。

list

指定要输入的数据。List 可以由十六进制数或引号包括起来的字符串组成。


说明

使用 range 参数

如果 range 包含的字节数比 list 中的数值大,Debug 将在 list 中反复指派值,直到 range 中的所有字节全部填充。

如果在 range 中的任何内存损坏或不存在,Debug 将显示错误消息并停止 f 命令。


使用 list 参数

如果 list 包含的数值多于 range 中的字节数,Debug 将忽略 list 中额外的值。


范例

假定键入以下命令:

f04ba:100l100 42 45 52 54 41

作为响应,Debug 使用指定的值填充从 04BA:100 到 04BA:1FF 的内存位置。Debug 重复这五个值直到 100h 个字节全部填满为止。


Debug:G(转向)


运行当前在内存中的程序。


g [=address] [breakpoints]


参数

=address

指定当前在内存中要开始执行的程序地址。如果不指定 address,Windows 2000 将从 CS:IP 寄存器中的当前地址开始执行程序。

breakpoints

指定可以设置为 g 命令的部分的 1 到 10 个临时断点。

有关执行循环、重复的字符串指令、软件中断或子程序的信息,请单击“相关主题”列表中的 Debug P(执行)。

有关执行指令的信息,请单击“相关主题”列表中的 Debug T(跟踪)。

Debug:H(十六进制)

对指定的两个参数执行十六进制运算。


h value1 value2


参数

value1

代表从 0 到 FFFFh 范围内的任何十六进制数字。

value2

代表从 0 到 FFFFh 范围内第二个十六进制数字。


说明

Debug 首先将指定的两个参数相加,然后从第一个参数中减去第二个参数。这些计算的结果显示在一行中:先计算和,然后计算差。


范例

假定键入以下命令:

h19f 10a

Debug 执

60 FAT

在说明FAT文件系统之前,我们必须清楚FAT是什么?FAT(File Allocation Table)是“文件分配表”的意思。顾名思义,就是用来记录文件所在位置的表格,它对于硬盘的使用是非常重要的,假若丢失文件分配表,那么硬盘上的数据就会因无法定位而不能使用了。不同的操作系统所使用的文件系统不尽相同,在个人计算机上常用的操作系统中,MS-DOS 6.x及以下版本使用FAT16;OS/2使用HPFS;Windows NT则使用NTFS;而MS-DOS 7.10及ROM-DOS 7.10同时提供了FAT16及FAT32供用户选用。其中我们接触最多的是FAT16、FAT32文件系统。

一、FAT16文件系统
FAT16使用了16位的空间来表示每个扇区(Sector)配置文件的情形,故称之为FAT16。
FAT16由于受到先天的限制,因此每超过一定容量的分区之后,它所使用的簇(Cluster)大小就必须扩增,以适应更大的磁盘空间。所谓簇就是磁盘空间的配置单位,就象图书馆内一格一格的书架一样。每个要存到磁盘的文件都必须配置足够数量的簇,才能存放到磁盘中。FAT16各分区与簇大小的关系如下表:

分区大小 FAT16簇大小
16MB-127MB 2KB
128MB-255MB 4KB
256MB-511MB 8KB
512MB-1023MB 16KB
1024MB-2047MB 32KB

如果你在一个1000MB的分区中存放50KB的文件,由于该分区簇的大小为16KB,因此它要用到4个簇才行。而如果是一个1KB的文件,它也必须使用一个簇来存放。那么每个簇中剩下的空间可否拿来使用呢?答案是不行的,所以在使用磁盘时,无形中都会或多或少损失一些磁盘空间。
由上可知,FAT16文件系统有两个最大的缺点:
(1)磁盘分区最大只能到2GB。当前只要你添购计算机的话,想必其中的硬盘大小必定至少有2GB,而3.2GB、4.3GB以上的硬盘比比皆是,且物美价廉。FAT16文件系统已不能适应当前这种大容量的硬盘,必须被迫分区成几个磁盘空间。而分区磁盘的大小又牵扯出簇的问题来,可谓影响颇大。
(2)使用簇的大小不恰当。试想,如果一个只有1KB大小的文件放置在一个1000MB的磁盘分区中,它所占的空间并不是1KB,而是16KB,足足浪费了15KB!当前流行的HTML文件,其大小几乎多为1KB、2KB,而制作一个网站往往用到数十个HTML文件。如果你的硬盘中有100个这种小文件的话,你浪费的磁盘空间可从700KB(511MB的分区),到3.1MB(2047MB的分区)。
以上这两个问题常常使得用户在“分多大的分区,才能节省空间,同时又可使硬盘的使用更加方便有效”的抉择中徘徊不定。

二、FAT32文件系统
为了解决FAT16存在的问题,开发出FAT32系统。FAT32使用了32位的空间来表示每个扇区(Sector)配置文件的情形。利用FAT32所能使用的单个分区,最大可达到2TB(2048GB),而且各种大小的分区所能用到的簇的大小,也是恰如其分,上述两大优点,造就了硬盘使用上更有效率。现将与分区与簇的大小汇整如下,我们可仔细做个比较:

分区大小 FAT16簇大小 FAT32簇大小

16MB-32MB 2KB 不支持
32MB-127MB 2KB 512bytes
128MB-255MB 4KB 512bytes
256MB-259MB 8KB 512bytes
260MB-511MB 8KB 4KB
512MB-1023MB 16KB 4KB
1024MB-2047MB 32KB 4KB
2048MB-8GB 不支持 4KB
8GB-16GB 不支持 8KB
16GB-32GB 不支持 16KB
32GB以上 不支持 32KB

以当前硬件所能支持的情况下,如将8GB硬盘划分为单个分区的话,使用的簇的大小也只有4KB,比起以往的FAT16来说,真是节省了许多空间。

三、FAT32使用上的限制
看到这些优点,你一定迫不及待地想将FAT16转换为FAT32。不过在转换之前,要注意下面几点:
(1)与其他的PC操作系统不兼容。当前支持FAT32的操作系统仅有MS-DOS 7.10、ROM-DOS 7.10、FreeDOS和Windows 2000以上版本,而其他操作系统则根本不能读取FAT32的分区。例如你以MS-DOS 6.x等旧版本的DOS启动盘开机的话,你硬盘中的FAT32分区就会凭空消失,完全看不到这个分区。另外,如果你要使用多重开机来启动多种不同的操作系统,建议你不要将C:这个分区改为FAT32。因为有一些操作系统会强迫一定要从C:这个主要分区来安装、开机,如果你将C:改为FAT32,而该操作系统不认FAT32,那就不能开机了。
(2)有些磁盘工具、防毒软件还不认得FAT32,可能会造成转换后,磁盘工具软件不能对FAT32的分区进行磁盘处理工作,而防毒软件会不认得这种文件系统,误判为中毒现象。
(3)一些版本较旧的软件不能在FAT32的分区中执行,例如Office 95等。
(4)小于512MB的分区一般不让转换为FAT32。虽说我们从前面的列表中发现小于512MB的分区只使用512Bytes大小的簇,但是在Windows 98中,你只能转换512MB以上的分区。如果想转换32MB到512MB这间的分区,必须使用CVT.EXE中的/MIN命令,如CVT D: /CVT32 /MIN,或FDISK /FPRMT。
(5)不能在FAT32分区中做磁盘压缩,即使使用Windows 98中的磁盘压缩也是行不通的。
(6)如果你主板的BIOS支持"suspend-to-disk"的功能,那么请将这项功能关闭,因为在FAT32分区中是不能使用的。
(7)Windows 98所提供的转换工具只能将FAT16转换为FAT32,并不能再从FAT32转换回FAT16。要转换回来只有:重新进行分区(Partition)、格式化(Format),然后重新安装系统、应用软件等。
要从FAT32转换回FAT16,还可以借助一项工具:PowerQuest的Partition Magic 3.0或以上版本。这是一套能让你自由改变分区大小、文件系统,而毫不损坏磁盘数据的一套软件。你可以利用这套软件将FAT32转换为FAT16,而不必重新格式化你心爱的硬盘。如果你没有该软件,那么要有“准备后悔”的念头,请在FAT16转换FAT32前先做好备份。同时我们提醒大家,如果您的计算机配置不是很高(即不是PⅡ或同一级别的CPU),最好不要将分区表转换成FAT32,因为这样会影响硬盘读取速度的。

61、DOS慎用命令!!!!!

 del *.*     删除当前目录所有文件

[建  议]  在C盘根目录使用del *.*会使电脑找不到鼠标、光驱、不能使用  
         windows,甚至不能启动。 事实上在任何目录中使用这条命令,都需
         要好好考虑。


deltree *.*    删除当前目录下所有目录与文件

[建  议]  在C盘根目录中使用这条命令,那你必须要保证你的头脑是清醒的,
         而且你保证这样做是有必要的,但我们认为在任何情况下都不应该这
         样使用这条命令。 在任何目录下使用deltree *.*都会产生与   
         del *.*一样甚至更坏的结果。慎之!慎之!

format c:/u   格式化C盘

[建  议]  除非你的硬盘被病毒感染得很深,或者有一个真正电脑专家告诉你应
         该这样做,否则不要将C盘格式化,它会使你丢失一切信息,还需要
         花几个小时来重新安装所有的软件。

  fdisk    硬盘分区

[建  议]  硬盘分区时,一定要让一个曾经使用过这条命令的人来帮助你使用,
         否则你将失去所有信息,甚至连硬盘都不能使用了。

  recover    覆盖磁盘

[建  议]  在DOS 6以后就不再有这条命令了,如果你使用的是老版本的DOS,劝
         你在任何时候都不要使用它,它除了将你的硬盘所有的信息破坏掉就
         没有其它作用了。

62  批处理文件
if goto choice for 是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。
if

表示将判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式:
1、 if "参数" == "字符串"  待执行的命令
参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号)
如if "%1"=="a" format a:

2、 if exist 文件名  待执行的命令
如果有指定的文件,则条件成立,运行命令,否则运行下一句。如if exist config.sys edit config.sys

3、 if errorlevel 数字  待执行的命令
如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。如if errorlevel 2 goto x2  DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码

goto
批处理文件运行到这里将跳到goto 所指定的标号处, 一般与if配合使用。 如:

goto end

:end
echo this is the end

标号用 :字符串 表示,标号所在行不被执行

choice
使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1234……

如: choice /c:dme defrag,mem,end
将显示
defrag,mem,end[D,M,E]?

例如,test.bat的内容如下:
@echo off
choice /c:dme defrag,mem,end
if errorlevel 3 goto defrag 应先判断数值最高的错误码
if errorlevel 2 goto mem
if errotlevel 1 goto end

:defrag
c:\dos\defrag
goto end

:mem
mem
goto end

:end
echo good bye

此文件运行后,将显示 defrag,mem,end[D,M,E]? 用户可选择d m e ,然后if语句将作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,文件结束。

63.批处理文件常用命令

echo、@、call、pause、rem 是批处理文件最常用的几个命令,我们就从他们开始学起。 echo 表示显示此命令后的字符 echo off 表示在此语句后所有运行的命令都不显示命令行本身 @ 与echo off相象,但它是加在其它命令行的最前面,表示运行时不显示命令行本身。 call 调用另一条批处理文件(如果直接调用别的批处理文件 ,执行完那条文件后将无法执行当前文件后续命令) pause 运行此句会暂停,显示Press any key to continue... 等待用户按任意键后继续 rem 表示此命令后的字符为解释行,不执行,只是给自己今后查找用的
  例:用edit编辑a.bat文件,输入下列内容后存盘为c:\a.bat,执行该批处理文件后可实现:将根目录中所有文件写入 a.txt中,启动UCDOS,进入WPS等功能。

  批处理文件的内容为:         文件表示:

    echo off            不显示命令行

    dir c:\*.* >a.txt       将c盘文件列表写入a.txt

    call c:\ucdos\ucdos.bat    调用ucdos

    echo 你好            显示"你好"

    pause              暂停,等待按键继续

    rem 使用wps           注释将使用wps

    cd ucdos            进入ucdos目录

    wps               使用wps  

  批处理文件中还可以像C语言一样使用参数,这只需用到一个参数表示符 % 。

   %表示参数,参数是指在运行批处理文件时在文件名后加的字符串。变量可以从 %0到%9,%0表示文件名本身,字符串用%1到%9顺序表示。

  例如,C:根目录下一批处理文件名为f.bat,内容为 format %1

  则如果执行C:\>f a:    则实际执行的是format a:

  又如C:根目录下一批处理文件的名为t.bat,内容为 type %1 type %2

  那么运行C:\>t a.txt b.txt 将顺序地显示a.txt和b.txt文件的内容。

64、DOS命令基础应用


DOS 基础命令


  cd     改变当前目录       sys   制作DOS系统盘

  copy    拷贝文件         del   删除文件

  deltree   删除目录树        dir   列文件名

  diskcopy  制磁盘          edit  文本编辑

  format    格式化磁盘        md   建立子目录

  mem     查看内存状况       type  显示文件内容

  rd     删除目录         ren   改变文件名

  记得多少啊,忘了就去上课看看,下面四个命令是新的,给出命令格式,你自己试试看,学电脑重要的就是摸索。

  cls     清屏

[适用场合]  屏幕上太乱了,或是屏幕上出现乱码了, 清除屏幕上显示内容但不影响电脑内部任何信息

[用  法]  cls  回车

  move     移动文件,改目录名 

[适用场合]  移动文件到别的目录

[用  法]  move [文件名] [目录]        移动文件至新目录下

        move [目录名] [目录名]       改目录名


[例  子]  c:\>move c:\autoexec.bat c:\old??

        移动autoexec.bat文件至old目录下

        c:\>move c:\config.sys c:\old??

        移动config.sys文件至old目录下


  more    分屏显示

[适用场合]  当输出很多一屏显示不下时采用,几乎适合所有命令,尤其是type等命令时很有用。 使用more时磁盘不能有写保护,也不适合光驱。

[用  法]  type [文件名] | more        分屏显示文件内容

        more < [文件名]          分屏显示文件内容


[例  子]  C:\>type msdos.w40 | more

  xcopy    拷贝目录和文件

[适用场合]  在进行连同子目录一起拷贝时很有用,在拷贝大量文件时比COPY命令要快得多

[用  法]  xcopy [文件名] [目录]       将指定文件拷贝到指定目录

        xcopy [源目录] [目的目录]  将源目录连子目录考到目的目录下

        xcopy *.* [目录] /s   将文件与非空子目录拷贝到指定目录

        其它常用参数还有: v 拷贝后校验,会影响速度
                  e 与s 相似,但即使子目录是空的也会拷贝。
help    帮助

[适用场合]  当您想具体了解DOS命令的使用方法时使用

[用  法]  help                提供所有DOS命令帮助

        help [DOS命令]           提供有关命令的帮助

  如果你只大致记得某个命令,可以在提示符后直接输入help命令,然后将出现下面的画面:

attrib   设置文件属性

[适用场合]  想对文件做较特殊的处理时

[用  法]  attrib 显示所有文件的属性

        attrib +r或-r [文件名] 设置文件属性是否为只读

        attrib +h或-h [文件名] 设置文件属性是否隐含

        attrib +s或-s [文件名] 设置文件属性是否为系统文件

        attrib +a或-a [文件名] 设置文件属性是否为归档文件

        attrib /s 设置包括子目录的文件在内的文件属性

[例  子]  C:\TEST>attrib +r wina20.386

        C:\>attrib +h *.* /s?? 隐含所有文件

  date     显示及修改日期

[适用场合]  想知道或修改时间和日期

[用  法]  date 显示和改变当前日期

[例  子]  C:\>date 09-20-1996?? 将日期改为1996年9月20日

        C:\>date??

          Current date is Tue 08-20-1996

          Enter new date (mm-dd-yy):09-20-1996

          按月-日-年的顺序修改当前日期 直接按回车键忽略修改日期


  lable    设置卷标号

[适用场合]  用来为磁盘做个标记

[用  法]  label 显示磁盘卷标

        label [盘符] [卷标名] 设定指定盘的卷标

[例  子]  C:\>label??
        Volume in drive C is WANG
        Volume Serial Number is 2116-1DD0
        volume label (11 characters,Enter for none)?
        可以输入卷标,直接回车后
        Delete current volume label (Y/N)?
        按y删除旧卷标,按n不更改

 

  defrag   磁盘碎片整理

[适用场合]  磁盘读写次数很多,或磁盘使用时间很长了,可能需要使用这条命令整理磁盘。磁盘碎片并不是指磁盘坏了,而只是由于多次的拷贝和删除文件后,磁盘使用会很不连贯,致使速度变慢。

[用  法]  1. C:\>defrag??

        2. 选择要整理的磁盘


        3. 电脑分析磁盘状况,然后告诉我们磁盘有多少需整理。按Esc键


        4. 选择Optimization Method(磁盘优化方法),选择“全部优化”或“仅优化文件”


        5. 选择Begin Optimization 开始整理

        6. 整理完后,按回车键


        7. 按Esc退出。
doskey   调用和建立DOS宏命令

[适用场合]  经常需要输入重复的命令时,有非常大的用处

[用  法]  doskey 

        将doskey驻留内存,开辟出缓冲区,以后输入的命令都将保存在缓冲区中,可以随时调用

        doskey [宏命令名]=[命令名]  

        将宏命令定义为命令,以后输入宏命令,电脑就会执行相应的命令

        doskey /reinstall      重新安装doskey

        doskey /bufsize=       设置缓冲区的大小

        doskey /macros        显示所有doskey宏

        doskey /history        显示内存中所有命令

        doskey /insert|overstrike 设置新键入的字符是否覆盖旧的字符

[例  子]  C:\>DOSKEY??
        C:\>dir
        C:\>copy C:\temp\*.* a:
        C:\>del c:\temp\*.*
        C:\>copy b:\*.* c:\temp

        上述四条命令都已被保存,用光标控制键的上下可以依次选择使用或修改, 也可以用F7键列出保存的所有命令

        C:\>doskey di=dir/w/p?? 定义di为宏命令,意思是执行dir/w/p

  fdisk    硬盘分区

[建  议]  只有硬盘被很利害的病毒感染时,或是一块新硬盘才需要分区,最好请懂行的人指导。硬盘都需经过低级格式化,分区,格式化三个步骤才可使用,成品电脑内的硬盘都已经做过这些加工了。

[用  法]  输入fdisk后按回车即可进入提示界面

 


  emm386   扩展内存管理

[建  议]  这条命令比较复杂,在第五章中系统配置里将详细介绍

lh/loadhigh   将程序装入高端内存

[适用场合]  这条命令一般用在autoexec.bat中,当有些软件需要的基本内存很大时,它会有用

[用  法]  lh [程序]  

        将程序装入高端内存 使用此命令时,config.sys文件中需有下面两条语句。 device=emm386.exe dos=umb

        lh [程序] /l:区号    将程序装入指定的umb区

        lh /s          一般是由memmaker专用

[例  子]  C:\MOUSE\>lh mouse??  将鼠标驱动程序装入高端内存

 memmaker   内存优化管理

[适用场合]  这个命令现在已经很少用了,在当年DOS流行时,想玩游戏可少不了它,它可以腾出许多基本内存供游戏使用,只需安装一次即可

[用  法]  1. C:\>memmaker??

        2. 回车继续,F3退出

        3. 选择手动安装和自动安装,直接回车表示自动安装(回车得了)

        4. 选择是否有程序需要扩充内存,可用空格键选择,Yes表示需要,No不需要,按回车键即可。

        5. 程序自动检测硬盘内是否安装了WINDOWS

        6. 软驱中若有软盘则应将其取出,然后按回车键,电脑将重新起动两次,不要中断,只需按回车键。

        (其实很简单,一直按回车键就行了,呵呵)


msd     系统检测

[适用场合]  用于检查系统信息

[用  法]  1. C:\>msd 回车后可见到如下画面,在每个选项旁边加了注解,表示该按钮的功用

??       2. 选择需查询的项目,比如选第一个Computer,将会弹出一个对话框显示电脑的一些基本信息。你可以试试其他的选项,看看有什么用。


        3. 按Alt+F键激活下拉菜单后, 选择"Exit"项退出。

 undelete   恢复被删除的文件

[适用场合]  当不小心删错了文件时,它可以用得上。

        DOS删除文件时,只是将文件从分配表中去除,在磁盘存储区内将文件名的第一个字母删除,文件内容并未马上从磁盘中删除,所以能恢复。

[用  法]  undelete       恢复已删除的文件

        undelete /all   恢复文件且不再询问是否恢复,      
        以"#%&-0123456789abcdefghijklmnopqrstuvwxyz"的顺序为第一个
        字母来恢复文件

        undelete /list  列可恢复的文件名

        undelete /s    可将undelete驻留内存,但几乎没人这样使用
prompt   设置提示符

[适用场合]  当你厌烦了c:\>的提示符或者您想使您的提示符与众不同时,您可以试一试,非常有趣的DOS命令,可以随时显示时间与日期。

[用  法]  prompt $p$g 以当前目录名和>号为提示符,这是最常用的提示符

        prompt $t 表示时间      prompt $d 表示日期

        prompt $$ 表示$        prompt $q 表示=

        prompt $v 表示当前版本    prompt $l 表示<

        prompt $b 表示|        prompt $h 表示退位符

        prompt $e 表示Esc代表的字符  prompt $_ 表示回车换行

[例  子]  C:\DOS>prompt wang$g?? 将wang>作为提示符

        WANG>prompt $t$d$g??  使用时间、日期和>号做为提示符

        0:01:07.77Thu 08-29-1996>prompt $p$g??

        C:\DOS>

 


restore   恢复已备份的文件

[建  议]  如果以前用backup做过文件备份,则当原文件损坏时可以用它来恢复文件。

        将用backup命令备份的磁盘中的文件恢复到另一磁盘中,备份磁盘中应有backup.00X和control.00X这两条文件。

[用  法]  restore [备份盘符] [目标盘符]

        将备份盘上备份文件恢复到指定盘上

        restore /s     将备份文件包括子目录都恢复到指定盘上

        restore /p     让用户判断是否恢复文件

        restore /b:日期  恢复日期以前的文件

        restore /a:日期  恢复日期之后的文件

        restore /l:时间  恢复时间之前的文件

        restore /e:时间  恢复时间之后的文件

        restore /m     只恢复上次备份后修改过的文件

        restore /n     只恢复上次备份后已删 除的文件

        restore /d     只显示要恢复的文件名

[例  子]  C:\DOS>restore a: c:??
        Insert backup diskette 01 in drive A:
        Press any key to continue . . .

        在A驱中放入第一张备份盘,按任意键即可,恢复完第一张后,按顺序放入其它盘即可。

        当您用上述命令不能正确恢复文件时请用:

        C:\DOS>restore a: c:\ /s??
time    显示及修改时间

[适用场合]  用于显示及修改时间,用法同date

[例  子]  C:\\DOS>time??
        Current time is 12:15:26.04a
        Enter new time: 11:20:20.00p

        按时:分顺序输入时间,再加上下午(a/p)即可 直接按ENTER键可忽略修改时间。

  set     设置环境变量

[适用场合]  设置声卡和路径等时用到

[用  法]  set [环境变量]=[字符串]   

        这条命令常常用在autoexec.bat中

[例  子]  C:\>set blaster=a220 i5 d1     设置声卡的参数

        C:\>set path=c:\dos         path c:\dos含义相同

 smartdrv   设置磁盘加速器


[建  议]  它可以提高硬盘访问速度,最好在autoexec.bat文件中加载吧。

[用  法]  smartdrv /x

        执行并驻留内存,开辟磁盘加速缓存区,并屏蔽所有驱动器缓存,是较常用的方法(一般用这个命令就够了)

        smartdrv /c       将缓存内的信息都写入硬盘

        smartdrv /e: 数字    设置一次移动的信息量

        smartdrv /b: 数字    设置预先读取的缓冲区大小
append    设置非执行文件的路径

[适用场合]  当您无法在多个目录中寻找到自己输入的文稿时,可以试一试这个命令,用法类似path。

[用  法]  append [路径];[路径]


[例  子]  C:\>append c:\test??

        设置寻找非可执行文件路径为c:\\test如果该目录下有文件1.txt时,在其它目录下调用1.txt找不到时,可自动寻找到c:\\test目录。

        D:\UCDOS>edit 1.txt 可找到C:\test\1.txt文件

 debug     程序调试命令

[建  议]  如果你学过汇编语言,那你应该会使用debug,如果没学过,最好别使用

[用  法]  debug [文件名]

 diskcomp   比较磁盘

[适用场合]  比较两张盘是否相同,没想到什么时候会用到,在比较用diskcopy拷贝的两张盘,为什么不用diskcopy/v校验呢?

[用  法]  diskcomp [盘符1] [盘符2] 比较盘1和盘2

        diskcomp /1 只比较磁盘的第一面

        diskcomp /8 只比较没磁道的前8个扇区

[例  子]  C:\>diskcomp a: a:
        在同一软驱中比较两张盘

        Insert FIRST diskette in drive A:
        放入第一张盘

        Press any key to continue . . .

        Comparing 80 tracks 18 sectors per track, 2 side(s)   
        Insert SECOND diskette in drive A:
        放入第二张盘

        Press any key to continue . . . Compare OK
        比较未发现不同

        Compare


本文标签: 完整版圣经ltdosgt