第一课  基本 DOS 命令集详细解说


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

edit    编辑命令:
edit   w.bat回车(就是编辑 w.bat文件的意思)

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

type    查看命令:
       我想知道abc.txt文件的内容,就从键盘上输入type abc.txt 。

diskcopy 磁盘复制命令:
        diskcopy命令的格式很简单:diskcopy 源驱动器名 目的驱动器名。举个例子来
        说,如果要在A驱动器上复制磁盘,就输入:diskcopy a: a: (奇怪吧,哪来两
        个A盘,且看下文电脑是如何理解的)。

chkdsk   磁盘查看命令:
        就输入chkdsk C:

cd       改变当前目录命令:
        用法,就输入cd abc

sys      制作DOS系统盘命令:
        用法,就输入sys a:

copy     拷贝文件命令:
        用法,就输入copy c:\abc.txt a:\

del     删除文件命令:
       用法,就输入 del c:\abc.txt

deltree 删除目录树命令:
        用法,就输入 deltree c:\abc

dir     查看命令:
       用法,就输入 dir 如:
       用法1、dir /w
       用法2、dir /p
       用法3、dir /w/p

format  格式化磁盘命令:
       用法1,就输入format a:(完全格式化不带任何信息)
       用法2,就输入format a:/q(快速格式化不带任何信息)
       用法3,就输入format a:/s(完全格式化并写入DOS启动主文件)
       用法4,就输入format a:/q/s(快速格式化并写入DOS启动主文件)

md      建立目录命令:
       用法,就输入md abc

mem     查看内存状况命令:
       用法,就输入mem

rd      删除目录命令:
       用法,就输入rd abc

cls     清屏命令:
       用法,就输入cls
       适用场合:屏幕上太乱了,或是屏幕上出现乱码了, 清除屏幕上显示内容但不影响
       电脑内部任何信息.

move    移动文件与改目录名:
       用法,就输入c:\>move c:\autoexec.bat c:\old (移动autoexec.bat文件至old目录下)
       用法,就输入c:\>move c:\config.sys c:\temp (移动config.sys文件至temp目录下)

more   分屏显示命令:
      用法,就输入C:\>type msdos.w40 | more
      适用场合:当输出很多一屏显示不下时采用,几乎适合所有命令,尤其是type等命令
      时很有用。 使用more时磁盘不能有写保护,也不适合光驱。

xcopy 拷贝目录和文件命令:
     用法,就输入xcopy *.* [目录] /s

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

attrib 设置文件属性命令:
      用法1,就输入attrib +r abc.txt
      用法2,就输入attrib +h *.* /s? 隐含所有文件 
      参数:
      attrib +r或-r [文件名] 设置文件属性是否为只读 
      attrib +h或-h [文件名] 设置文件属性是否隐含 
      attrib +s或-s [文件名] 设置文件属性是否为系统文件 
      attrib +a或-a [文件名] 设置文件属性是否为归档文件 
      attrib /s 设置包括子目录的文件在内的文件属性

date   显示及修改日期命令:
      用法,就输入C:\>date 03-20-2005? 将日期改为2005年3月20日

lable  设置卷标号命令:
      用法,就输入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 磁盘碎片整理命令:
       用法,就输入C:\>defrag

doskey  调用和建立DOS宏命令命令:
       用法,就输入 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 
             C:\>doskey di=dir/w/p? 定义di为宏命令,意思是执行dir/w/p

fdisk    硬盘分区命令:
        用法,就输入fdisk后按回车即可进入提示界面

emm386   扩展内存管理命令:
        用法 lh [程序]   
        将程序装入高端内存 使用此命令时,config.sys文件中需有下面两条语句。
        device=emm386.exe dos=umb 
        lh [程序] /l:区号    将程序装入指定的umb区 
        lh /s          一般是由memmaker专用 
        例子:  C:\MOUSE\>lh mouse?  将鼠标驱动程序装入高端内存

memmaker 内存优化管理命令:
        用法,就输入C:\>memmaker 回车,出现提示一直回车 2. 回车继续,F3退出

msd      系统检测命令:
        用法,就输入 C:\>msd 回车后可见到实例

undelete 恢复被删除的文件命令:
        用法,就输入undelete
          undelete /all   恢复文件且不再询问是否恢复
          undelete /list  列可恢复的文件名

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     显示及修改时间命令:
        用法,就输入time 即可按提示修改,不修改按回车忽略修改

set      设置环境变量命令:
        用法,就输入set [环境变量]=[字符串] 
        例子: C:\>set path=c:\dos 与path c:\dos含义相同, 这条命令常常用在autoexec.bat中

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 another diskette (Y/N) ?n 
         是否比较其它盘,选y继续比较,选n停

expand   解压工具命令:
         微软公司软件原始安装盘中有许多后缀以"_"结尾的压缩文件,可以用它解压,
         解除您因为少数几个文件丢失造成的麻烦。(Windows下用Winrar就可以解压)
         用法,C:\>expand a:vsafe.co_ c:\dos\vsafe.com


fasthelp 快速显示帮助信息命令:
         用法,在DOS下输入abc.exe /fasthelp  同/?

fc        文件比较命令:
         用法,就输入fc[文件名1][文件名2]比较两文件的不同参数还有: a c l Lbn n t w nnnn

subst    路径替换命令:
         用法 subst   显示当前的替代路径 
        subst [盘符] [路径]                    
        将指定的路径替代盘符,该路径将作为驱动器使用 
        subst /b         解除替代 
       [例子]C:\DOS>subst a: c:\temp? 用c盘temp目录替代a盘 
        C:\>subst a: /d?     解除替代

[这个贴子最后由xzf在 2005/08/31 00:21pm 第 4 次编辑]

                     前     言
           
      在这篇里解说的是批处理中所常要用到的一些命令和作用, 请仔细阅读, 配合上一篇的解说, 记住这些命令和作用, 你就能够明白 DOS 的工作原理了, 也就能修改自己所需要用的功能了, 这篇就写到这里。

注:未经同意, 不准转贴, 谢谢合作!  QQ 群号: 11175590

 

             第二课  基本 DOS 批处理详细解说


一、echo、@、call、pause、rem 是批处理文件最常用的几个命令,我们就从他们
                              开始学起

echo            表示显示此命令后的字符 
echo off        表示在此语句后所有运行的命令都不显示命令行本身 
@               与echo off相象,但它是加在其它命令行的最前面,表示运行时
               不显示命令行本身。 
call            调用另一条批处理文件(如果直接调用别的批处理文件 ,执行完
               那条文件后将无法执行当前文件后续命令) 
pause           运行此句会暂停,显示 Press any key to continue... 等待用户
               按任意键后继续  
rem             表示此命令后的字符为解释行,不执行,只是给自己今后查找用的 

二、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

:       这是标号字符(所在位是冒号),是用来执行被 goto 跳转所用的标号字符,
       标号所在行是不会被执行,如:
       :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,文件结束。

for     循环命令,只要条件符合,它将多次执行同一命令。

       格式FOR [%%f] in (集合) DO [命令] 
       只要参数f在指定的集合内,则条件成立,执行命令

       如果一条批处理文件中有一行: 
       for %%c in (*.bat *.txt) do type %%c 
       含义是如果是以bat或txt结尾的文件,则显示文件的内容。

device和devicehigh
       加载一些内存驻留程序,用于管理设备。比如内存管理程序和
       光驱驱动程序等。 
如:    device=c:\dos\himem.sys 
       device=c:\dos\emm386.exe ram 
       devicehigh=c:\cdrom\cdrom.sys

himem.sys和emm386.exe 
       DOS只能直接使用640K的内存,即基本内存,必须依靠其它内存管理程序来
       使用更多的内存,这两条命令就是最常用的内存管理程序。

himem.sys        负责管理扩展内存。

emm386.exe        负责管理高端内存并在扩展内存中模拟扩充内存供某些软件使用。

               为了使用更多的内存,配置文件中应有: 
               device=c:\dos\himem.sys 
               device=c:\dos\emm386.exe ram

               注意:EMM386.exe 要求先安装 himem.sys,因而必须确保
               安装 himem.sys 的配置命令在 emm386.exe 之前。

dos=high,umb    这两个参数也可以分开写成两条语句,即: 
               dos=high
               dos=umb

               应在config.sys中加入这条命令,这样会将DOS的系统文件移入高端
               内存,空出更多的基本内存给其它软件使用。 注意,如果用户没有
               安装emm386.exe,umb这个参数是没有实际意义的

lastdriver      lastdriver 规定用户可以访问的最大驱动器符数目,也就是DOS所能
               识别的最后的驱动器符(字母)。如果设定的驱动器符数目小于本机上
               的实际驱动器数,则此lastdriver命令会被忽略掉。缺省的最大驱动
               器符数目为本机的实际驱动器数目加一。

::              二个冒号,它和批处理文件中的 rem 含义相同,即注释

ramdrive.sys    虚拟磁盘文件。 
               只要在 config.sys 中加入 device=ramdrive.sys 就可使用虚拟磁盘了
               比如: 
                  device=c:\dos\ramdrive.sys 1024 /e 
               表示在扩展内存中建立 1M 的虚拟磁盘。如果加/a参数,则表示在扩充
               内存中建立虚拟磁盘。

%CDROM%         %CDROM%是光驱盘符的变量字符串,用它可以把所在的任意光驱盘符替为
               真实盘符, 需要与光驱驱动模块一同执行,如:
               LH \MSCDEX.EXE /D:mscd001 /L:%CDROM%

%RAMD%          %RAMD%是随机虚拟磁盘, 此盘创建在扩展内存中, 建立此盘的模块就是
               ramdrive.sys ,见上面的“虚拟磁盘文件”说明。
               另外这个虚拟内在还有更强大的虚拟内存管理器,可以超过64MB的内存
               管理,就是 XMSDSK.EXE 与 EMSDSK.EXE,