一份比较详细的DOS命令说明

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是键盘缓冲工具。 
总之,利用批处理命令和批处理增强工具,我们可以编出许多强大的批处理文件来。


 

1 echo 和 @
回显命令
@                        #关闭单行回显
echo off                 #从下一行开始关闭回显
@echo off                #从本行开始关闭回显。一般批处理第一行都是这个
echo on                  #从下一行开始打开回显
echo                     #显示当前是 echo off 状态还是 echo on 状态
echo.                    #输出一个”回车换行”,空白行
                         #(同echo, echo; echo+ echo[ echo] echo/ echo)

2 errorlevel
echo %errorlevel%
每个命令运行结束,可以用这个命令行格式查看返回码
默认值为0,一般命令执行出错会设 errorlevel 为1

3 dir
显示文件夹内容
dir                    #显示当前目录中的文件和子目录
dir /a                 #显示当前目录中的文件和子目录,包括隐藏文件和系统文件
dir c: /a:d            #显示 C 盘当前目录中的目录
dir c: /a:-d           #显示 C 盘根目录中的文件
dir c: /b/p            #/b只显示文件名,/p分页显示
dir *.exe /s           #显示当前目录和子目录里所有的.exe文件

4 cd
切换目录
cd                     #进入根目录
cd                     #显示当前目录
cd /d d:sdk            #可以同时更改盘符和目录

5 md
创建目录
md d:abc             #如果 d:a 不存在,将会自动创建中级目录
                     #如果命令扩展名被停用,则需要键入 mkdir abc。

6 rd
删除目录
rd abc               #删除当前目录里的 abc 子目录,要求为空目录
rd /s/q d:temp       #删除 d:temp 文件夹及其子文件夹和文件,/q安静模式

7 del
删除文件
del d:test.txt         #删除指定文件,不能是隐藏、系统、只读文件
del /q/a/f d:temp*.*
删除 d:temp 文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录
del /q/a/f/s d:temp*.*
删除 d:temp 及子文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录

8 ren
重命名命令
ren d:temp tmp         #支持对文件夹的重命名

9 cls
清屏

10 type
显示文件内容
type c:boot.ini        #显示指定文件的内容,程序文件一般会显示乱码
type *.txt             #显示当前目录里所有.txt文件的内容

11 copy
拷贝文件
copy c:test.txt d:test.bak
复制 c:test.txt 文件到 d: ,并重命名为 test.bak
copy con test.txt
从屏幕上等待输入,按 Ctrl+Z 结束输入,输入内容存为test.txt文件
con代表屏幕,prn代表打印机,nul代表空设备
copy 1.txt + 2.txt 3.txt
合并 1.txt 和 2.txt 的内容,保存为 3.txt 文件
如果不指定 3.txt ,则保存到 1.txt
copy test.txt +
复制文件到自己,实际上是修改了文件日期

12 title
设置cmd窗口的标题
title 新标题            #可以看到cmd窗口的标题栏变了

13 ver
显示系统版本

14 label 和 vol
设置卷标
vol                     #显示卷标
label                   #显示卷标,同时提示输入新卷标
label c:system          #设置C盘的卷标为 system

15 pause
暂停命令

16 rem 和 ::
注释命令
注释行不执行操作

17 date 和 time
日期和时间
date              #显示当前日期,并提示输入新日期,按“回车“略过输入
date/t            #只显示当前日期,不提示输入新日期
time              #显示当前时间,并提示输入新时间,按“回车“略过输入
time/t            #只显示当前时间,不提示输入新时间

18 goto 和 :
跳转命令
:label            #行首为:表示该行是标签行,标签行不执行操作
goto label        #跳转到指定的标签那一行

19 find (外部命令)
查找命令
find “abc“ c:test.txt
在 c:test.txt 文件里查找含 abc 字符串的行
如果找不到,将设 errorlevel 返回码为1
find /i “abc” c:test.txt
查找含 abc 的行,忽略大小写
find /c “abc“ c:test.txt
显示含 abc 的行的行数

20 more (外部命令)
逐屏显示
more c:test.txt        #逐屏显示 c:test.txt 的文件内容

21 tree
显示目录结构
tree d:                #显示D盘的文件目录结构

22 &  顺序执行多条命令,而不管命令是否执行成功

23 && 和 ||
&&顺序执行多条命令,当碰到执行出错的命令后将不执行后面的命令
| | 顺序执行多条命令,当碰到执行正确的命令后将不执行后面的命令
find “ok“ c:test.txt && echo 成功
如果找到了“ok“字样,就显示“成功“,找不到就不显示
find “ok“ c:test.txt || echo 不成功
如果找不到“ok“字样,就显示“不成功“,找到了就不显示

24 |
管道命令
dir *.* /s/a | find /c “.exe“
管道命令表示先执行 dir 命令,对其输出的结果执行后面的 find 命令
该命令行结果:输出当前文件夹及所有子文件夹里的.exe文件的个数
type c:test.txt|more
这个和 more c:test.txt 的效果是一样的

25 〉 和 〉〉 和 ^
输出重定向命令
〉 清除文件中原有的内容后再写入
〉〉 追加内容到文件末尾,而不会清除原有的内容
主要将本来显示在屏幕上的内容输出到指定文件中
指定文件如果不存在,则自动生成该文件
type c:test.txt 〉prn
屏幕上不显示文件内容,转向输出到打印机
echo hello world〉con
在屏幕上显示hello world,实际上所有输出都是默认 〉con 的
copy c:test.txt f: 〉nul
拷贝文件,并且不显示“文件复制成功“的提示信息,但如果f盘不存在,还是会显示出错信息
copy c:test.txt f: 〉nul 2〉nul
不显示”文件复制成功”的提示信息,并且f盘不存在的话,也不显示错误提示信息
^的作用是把命令符号转意成文本符号,它也可以转意自己,如:
echo ^^W ^〉 ^W〉c:test.txt
生成的文件内容为 ^W 〉 W
^ 和 〉 是控制命令,要把它们输出到文件,必须在前面加个 ^ 符号
set /p=^|
|是管道命令,要显示|,就要加^

26 ’’ 和 ““
单引号的作用是,将多个命令组成的复合语句当成一条语句
双引号的表示其内部内容为文本符号,它也可以连接两个或多个以空格间隔的文本符号
for /f “tokens=15“ %%i in (’ipconfig ^| find /i “ip address“’) do set ip=%%i
ipconfig为语句一,find /i “ip address“为语句二,用单引号合为一条语句
IF /I “%c%“==“1“ ECHO %c%
set p=“I Love You!!“
find if set

27 〈
从文件中获得输入信息,而不是从屏幕上
一般用于 date time label 等需要等待输入的命令
@echo off
echo 2005-05-01〉temp.txt
date 〈temp.txt
del temp.txt
这样就可以不等待输入直接修改当前日期

28 %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %*
命令行传递给批处理的参数
%0 批处理文件本身
%1 第一个参数
%9 第九个参数
%* 从第一个参数开始的所有参数

批参数(%n)的替代已被增强。您可以使用以下语法:

   %~1             - 删除引号(“),扩充 %1
   %~f1            - 将 %1 扩充到一个完全合格的路径名
   %~d1            - 仅将 %1 扩充到一个驱动器号
   %~p1            - 仅将 %1 扩充到一个路径
   %~n1            - 仅将 %1 扩充到一个文件名
   %~x1            - 仅将 %1 扩充到一个文件扩展名
   %~s1            - 扩充的路径指含有短名
   %~a1            - 将 %1 扩充到文件属性
   %~t1            - 将 %1 扩充到文件的日期/时间
   %~z1            - 将 %1 扩充到文件的大小
   %~$PATH : 1 - 查找列在 PATH 环境变量的目录,并将 %1
                 扩充到找到的第一个完全合格的名称。如果环境
                 变量名未被定义,或者没有找到文件,此组合键会
                 扩充到空字符串

可以组合修定符来取得多重结果:

       %~dp1       - 只将 %1 扩展到驱动器号和路径
       %~nx1       - 只将 %1 扩展到文件名和扩展名
       %~dp$PATH:1 - 在列在 PATH 环境变量中的目录里查找 %1,
                     并扩展到找到的第一个文件的驱动器号和路径。
       %~ftza1     - 将 %1 扩展到类似 DIR 的输出行。
可以参照 call/? 或 for/? 看出每个参数的含意
echo load “%%1“ “%%2“〉c:test.txt
生成的文件内容为 load “%1“ “%2“
批处理文件里,用这个格式把命令行参数输出到文件

29 if
判断命令
if “%1“==“/a“ echo 第一个参数是/a
if /i “%1“ equ “/a“ echo 第一个参数是/a
/i 表示不区分大小写,equ 和 == 是一样的,其它运算符参见:
    EQU - 等于
    NEQ - 不等于
    LSS - 小于
    LEQ - 小于或等于
    GTR - 大于
    GEQ - 大于或等于
if exist c:test.bat echo 存在c:test.bat文件
if not exist c:windows (
        echo 不存在c:windows文件夹
        )
if exist c:test.bat (
        echo 存在c:test.bat
        ) else (
        echo 不存在c:test.bat
        )

30 setlocal 和 endlocal
设置”命令扩展名”和”延缓环境变量扩充”
SETLOCAL ENABLEEXTENSIONS                #启用“命令扩展名“
SETLOCAL DISABLEEXTENSIONS               #停用“命令扩展名“
SETLOCAL ENABLEDELAYEDEXPANSION          #启用“延缓环境变量扩充“
SETLOCAL DISABLEDELAYEDEXPANSION         #停用“延缓环境变量扩充“
ENDLOCAL                                 #恢复到使用SETLOCAL语句以前的状态
“命令扩展名”默认为启用“延缓环境变量扩充”默认为停用批处理结束系统会自动恢复默认值
可以修改注册表以禁用“命令扩展名“,详见 cmd /? 。所以用到“命令扩展名“的程
序,建议在开头和结尾加上 SETLOCAL ENABLEEXTENSIONS 和 ENDLOCAL 语句,以确
保程序能在其它系统上正确运行“延缓环境变量扩充“主要用于 if 和 for 的符合语句,
在 set 的说明里有其实用例程

31 set
设置变量
引用变量可在变量名前后加 % ,即 %变量名%
set                        #显示目前所有可用的变量,包括系统变量和自定义的变量
echo %SystemDrive%         #显示系统盘盘符。系统变量可以直接引用
set p                      #显示所有以p开头的变量,要是一个也没有就设errorlevel=1
set p=aa1bb1aa2bb2         #设置变量p,并赋值为 = 后面的字符串,即aa1bb1aa2bb2
echo %p%                   #显示变量p代表的字符串,即aa1bb1aa2bb2
echo %p:~6%                #显示变量p中第6个字符以后的所有字符,即aa2bb2
echo %p:~6,3%              #显示第6个字符以后的3个字符,即aa2
echo %p:~0,3%              #显示前3个字符,即aa1
echo %p:~-2%               #显示最后面的2个字符,即b2
echo %p:~0,-2%             #显示除了最后2个字符以外的其它字符,即aa1bb1aa2b
echo %p:aa=c%              #用c替换变量p中所有的aa,即显示c1bb1c2bb2
echo %p:aa=%               #将变量p中的所有aa字符串置换为空,即显示1bb12bb2
echo %p:*bb=c%             #第一个bb及其之前的所有字符被替换为c,即显示c1aa2bb2
set p=%p:*bb=c%            #设置变量p,赋值为 %p:*bb=c% ,即c1aa2bb2
set /a p=39                #设置p为数值型变量,值为39
set /a p=39/10             #支持运算符,有小数时用去尾法,39/10=3.9,去尾得3,p=3
set /a p=p/10              #用 /a 参数时,在 = 后面的变量可以不加%直接引用
set /a p=”1&0″             #”与”运算,要加引号。其它支持的运算符参见set/?
set p=                     #取消p变量
set /p p=请输入
屏幕上显示”请输入”,并会将输入的字符串赋值给变量p
注意这条可以用来取代 choice 命令
注意变量在 if 和 for 的复合语句里是一次性全部替换的,如
@echo off
set p=aaa
if %p%==aaa (
        echo %p%
        set p=bbb
        echo %p%
        )
结果将显示
aaa
aaa
因为在读取 if 语句时已经将所有 %p% 替换为aaa
这里的“替换“,在 /? 帮助里就是指“扩充“、“环境变量扩充“
可以启用”延缓环境变量扩充”,用 ! 来引用变量,即 !变量名!
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
set p=aaa
if %p%==aaa (
        echo %p%
        set p=bbb
        echo !p!
        )
ENDLOCAL
结果将显示
aaa
bbb
还有几个动态变量,运行 set 看不到
�%                      #代表当前目录的字符串
�TE%                    #当前日期
%TIME%                    #当前时间
%RANDOM%                  #随机整数,介于0~32767
%ERRORLEVEL%              #当前 ERRORLEVEL 值
%CMDEXTVERSION%           #当前命令处理器扩展名版本号
%CMDCMDLINE%              #调用命令处理器的原始命令行
可以用echo命令查看每个变量值,如 echo %time%
注意 %time% 精确到毫秒,在批处理需要延时处理时可以用到

32 start
批处理中调用外部程序的命令,否则等外部程序完成后才继续执行剩下的指令

33 call
批处理中调用另外一个批处理的命令,否则剩下的批处理指令将不会被执行
有时有的应用程序用start调用出错的,也可以call调用

34 choice (外部命令)
选择命令
让用户输入一个字符,从而选择运行不同的命令,返回码errorlevel为1234……
win98里是choice.com
win2000pro里没有,可以从win98里拷过来
win2003里是choice.exe
choice /N /C y /T 5 /D y〉nul
延时5秒

35 assoc 和 ftype
文件关联
assoc 设置’文件扩展名’关联,关联到’文件类型’
ftype 设置’文件类型’关联,关联到’执行程序和参数’
当你双击一个.txt文件时,windows并不是根据.txt直接判断用 notepad.exe 打开
而是先判断.txt属于 txtfile ’文件类型’
再调用 txtfile 关联的命令行 txtfile=%SystemRoot%system32NOTEPAD.EXE %1
可以在“文件夹选项“→“文件类型“里修改这2种关联
assoc               #显示所有’文件扩展名’关联
assoc .txt          #显示.txt代表的’文件类型’,结果显示 .txt=txtfile
assoc .doc          #显示.doc代表的’文件类型’,结果显示 .doc=Word.Document.8
assoc .exe          #显示.exe代表的’文件类型’,结果显示 .exe=exefile
ftype               #显示所有’文件类型’关联
ftype exefile       #显示exefile类型关联的命令行,结果显示 exefile=“%1“ %*
assoc .txt=Word.Document.8
设置.txt为word类型的文档,可以看到.txt文件的图标都变了
assoc .txt=txtfile
恢复.txt的正确关联
ftype exefile=“%1“ %*
恢复 exefile 的正确关联
如果该关联已经被破坏,可以运行 command.com ,再输入这条命令

36 pushd 和 popd
切换当前目录
@echo off
c: & cd & md mp3           #在 C: 建立 mp3 文件夹
md d:mp4                   #在 D: 建立 mp4 文件夹
cd /d d:mp4                #更改当前目录为 d:mp4
pushd c:mp3                #保存当前目录,并切换当前目录为 c:mp3
popd                        #恢复当前目录为刚才保存的 d:mp4

37 for
循环命令
这个比较复杂,请对照 for/? 来看
for %%i in (c: d: e: f:) do echo %%i
依次调用小括号里的每个字符串,执行 do 后面的命令
注意%%i,在批处理中 for 语句调用参数用2个%
默认的字符串分隔符是“空格键“,“Tab键“,“回车键“
for %%i in (*.txt) do find “abc“ %%i
对当前目录里所有的txt文件执行 find 命令
for /r . %%i in (*.txt) do find “abc“ %%i
在当前目录和子目录里所有的.txt文件中搜索包含 abc 字符串的行
for /r . %%i in (.) do echo %%~pni
显示当前目录名和所有子目录名,包括路径,不包括盘符
for /r d:mp3 %%i in (*.mp3) do echo %%i〉〉d:mp3.txt
把 d:mp3 及其子目录里的mp3文件的文件名都存到 d:mp3.txt 里去
for /l %%i in (2,1,8) do echo %%i
生成2345678的一串数字,2是数字序列的开头,8是结尾,1表示每次加1
for /f %%i in (’set’) do echo %%i
对 set 命令的输出结果循环调用,每行一个
for /f “eol=P“ %%i in (’set’) do echo %%i
取 set 命令的输出结果,忽略以 P 开头的那几行
for /f %%i in (d:mp3.txt) do echo %%i
显示 d:mp3.txt 里的每个文件名,每行一个,不支持带空格的名称
for /f “delims=“ %%i in (d:mp3.txt) do echo %%i
显示 d:mp3.txt 里的每个文件名,每行一个,支持带空格的名称
for /f “skip=5 tokens=4“ %%a in (’dir’) do echo %%a
对 dir 命令的结果,跳过前面5行,余下的每行取第4列
每列之间的分隔符为默认的“空格“
可以注意到 dir 命令输出的前5行是没有文件名的
for /f “tokens=1,2,3 delims=- “ %%a in (’date /t’) do (
        echo %%a
        echo %%b
        echo %%c
        )
对 date /t 的输出结果,每行取1、2、3列
第一列对应指定的 %%a ,后面的 %%b 和 %%c 是派生出来的,对应其它列
分隔符指定为 - 和“空格“,注意 delims=- 后面有个“空格“
其中 tokens=1,2,3 若用 tokens=1-3 替换,效果是一样的
for /f “tokens=2* delims=- “ %%a in (’date /t’) do echo %%b
取第2列给 %%a ,其后的列都给 %%b

38 subst (外部命令)
映射磁盘。
subst z: serverd         #这样输入z:就可以访问serverd了
subst z: /d                 #取消该映射
subst                       #显示目前所有的映时

39      xcopy (外部命令)
文件拷贝
xcopy d:mp3 e:mp3 /s/e/i/y
复制 d:mp3 文件夹、所有子文件夹和文件到 e: ,覆盖已有文件
加 /i 表示如果 e: 没有 mp3 文件夹就自动新建一个,否则会有询问


 DOS:disk operate system,磁盘操作系统,DOS命令又分内部命令和外部命令。内部命令又称为驻机命令,它是随着DOS系统的启动同时被加载到内存里且长驻内存。也就是说,只要启动了DOS系统,我们就可以使用内部命令。外部命令是储存在磁盘上的可执行文件,外部命令是储存在磁盘上的可执行文件,执行这些外部命令需要从磁盘将其文件调入内存,因此,外部命令只有该文件存在时才能使用。带有.COM、.EXE、.BAT等扩展名的文件都可看成是外部命令。
常用的内部命令有MD、CD、RD、DIR、PATH、COPY、TYPE、EDIT、REN、DEL、CLS、VER、DATE、TIME、PROMPT。
常用的外部命令有DELTREE、FORMAT、DISKCOPY、LABEL、VOL、SYS、XCOPY、FC、ATTRIB、MEM、TREE。
常用的内部命令详解
1.MD——建立子目录
? 功能:创建新的子目录
? 类型:内部命令
? 格式:MD[盘符:][路径名]〈子目录名〉
FOR 1:
C:\>md y   

2.CD——改变当前目录
? 功能:显示当前目录
? 类型:内部命令
? 格式:CD[盘符:][路径名][子目录名]
说明:CD命令不能改变当前所在的盘,CD..退回到上一级目录,CD\表示返回到当前盘的目录下,CD无参数时显示当前目录名。
FOR 2:
C:\>cd y  

3.RD——删除子目录命令
? 功能:从指定的磁盘删除了目录。
? 类型:内部命令
? 格式:RD[盘符:][路径名][子目录名]
FOR 3:
C:\>rd y

4.DIR——显示磁盘目录命令
? 功能:显示磁盘目录的内容。
? 类型:内部命令
? 格式:DIR [盘符][路径][/P][/W]
FOR 4:
C:\>dir y

5.PATH——路径设置命令
? 功能:设备可执行文件的搜索路径,只对文件有效。
? 类型:内部命令
? 格式:PATH[盘符1]目录[路径名1]{[;盘符2:],〈目录路径名2〉…}
FOR 5:
C:\>path
PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\PROGRAMFILES\MTS

6.COPY文件复制命令
? 功能:拷贝一个或多个文件到指定盘上。
? 类型:内部命令
? 格式:COPY [源盘][路径]〈源文件名〉[目标盘][路径][目标文件名]
FOR 6_1:
C:\>copy yyy.txt yyy
        1 file(s) copied
C:\yyy>dir yyy
YYY      TXT     8  11-23-03  19:21   
说明: 如果是将多个文件复制到一个新的文件,命令是这样的COPY [源盘][路径]〈源文件A〉+[源盘][路径]〈源文件B〉[目标盘][路径][目标文件名]
FOR 6_2:
C:\>copy x.txt+y.txt xy.t
x.txt
y.txt
        1 file(s) copied

7.TYPE——显示文件内容命令
? 功能:显示ASCII码文件的内容。
? 类型:内部命令。
? 格式:TYPE[盘符:][路径]〈文件名〉
FOR 7:
C:\>trpe yyy.txt  

8.EDIT——编辑文件内容命令
1.功能:编辑ASCII文件的内容,也可建立一个新文件。
2.类型:内部命令。
3. EDIT[盘符:][路径]〈文件名〉
说明: EDIT即可以编辑ASCII文件的内容,也可以新建立一个文件,他们的扩展名命名方式也很灵活,比如.txt、.bat,甚至可以编辑.c、.bas的格式。
FOR 8_1:
C:\>edit  
FOR 8_2:
C:\>edit yyy.txt 

9.REN——文件改名命令
? 功能:更改文件名称
? 类型:内部命令
? 格式:REN[盘符:][路径]〈旧文件名〉〈新文件名〉
FOR 9:
C:\>ren yyy.txt cly.txt

10.DEL——删除文件命令
? 功能:删除指定的文件。
? 类型:内部命令
? 格式:DEL[盘符:][路径]〈文件名〉[/P]
说明:选用/P参数,系统在删除前询问是否真要删除该文件,若不使用这个参数,则自动删除。

11.CLS——清屏幕命令
? 功能:清除屏幕上的所有显示,光标置于屏幕左上角。
? 类型:内部命令
? 格式:CLS
FOR 11:
C:\>CLS

12.VER查看系统版本号命令
? 功能:显示当前系统版本号
? 类型:内部命令
? 格式:VER
FOR 12:
C:\>VER
Windows 98 [Version 4.10.2222]  

13.DATA日期设置命令
? 功能:设置或显示系统日期。
? 类型:内部命令
? 格式:DATE[mm—dd—yy]
FOR 13:
C:\>DATE
Current date is Sun 11-23-2
Enter new date (mm-dd-yy):  

14.TIME系统时钟设置命令
? 功能:设置或显示系统时期。
? 类型:内部命令
? 格式:TIME[hh:mm:ss:xx]
FOR 14:
C:\>time
Current time is  22:49:28.81
Enter new time:

15.PROMPT:更改命令提示符
? 功能:改变DOS系统提示符的风格。
? 类型:内部命令
? 格式:PROMPT [text]
说明:text 指定新的命令提示符,提示符可以由普通字符及下列特定代码组成,
$A & (Ampersand)
$B | (管道)
$C ( (左括弧)
$D 当前日期
$E Escape 码(ASCII 码 27)
$F ) (右括弧)
$G > (大于符号)
$H 后退(擦除前一个字符)
$L < (小于符号)
$N 当前驱动器
$P 当前驱动器及路径
$Q = (等号)
$S (空格)
$T 当前时间
$V Windows 2000 版本号
$_ 换行
$$ $ (货币符号)

FOR 15:
C:\>prompt
C>

常用的外部命令详解

1.DELTREE——删除整个目录命令
? 功能:将整个目录及其下属子目录和文件删除。
? 类型:外部命令
? 格式:DELTREE[盘符:]〈路径名〉
FOR 1:
C:\>deltree yyy
Delete directory "yyy" and all its subdirectories? [yn]

2. FORMAT——磁盘格式化命令
? 功能:对磁盘进行格式化,划分磁道和扇区;同时检查出整个磁盘上有无带缺陷的磁道,对坏道加注标记;建立目录区和文件分配表,使磁盘作好接收DOS的准备。
? 类型:外部命令
? 格式:FORMAT〈盘符:〉[/Q][/S][/AUTOTEST]
FOR 2.:
C:\>format d:/q/s/autotes
Checking existing disk fo
……
3. DISKCOPY——整盘复制命令
? 功能:复制格式和内容完全相同的软盘。
? 类型:外部命令
? 格式:DISKCOPY[盘符1:][盘符2:]
FOR 3:
C:\>diskcopy a: b: 

4. LABEL——建立磁盘卷标命令
? 功能:建立、更改、删除磁盘卷标。
? 类型:外部命令
? 格式:LABEL[盘符:][卷标名]
FOR 4:
C:\>label c: yyy   

5.VOL——显示磁盘卷标命令
? 功能:查看磁盘卷标号。
? 类型:内部命令
? 格式:VOL[盘符:]
FOR 5:
C:\>vol c:
Volume in drive C is YYY
Volume Serial Number is C406-9364

6.SYS——系统复制命令
? 功能:将当前驱动器上的DOS系统文件IO.SYS,MSDOS.SYS和COMMAND.COM 传送到指定的驱动器上。
? 类型:外部命令
? 格式:SYS[盘符:]
*说明:如果磁盘剩余空间不足以存放系统文件,则提示:No roomfor on destination disk.
FOR 6:
C:\>sys d:
System transferred 

7.XCOPY——目录复制命令
? 功能:复制指定的目录和目录下的所有文件连同目录结构。
? 类型:外部命令
? 格式:XCOPY [源盘:]〈源路径名〉[目标盘符:][目标路径名][/S][/V][/E]
说明:XCOPY是COPY的扩展,可以把指定的目录连文件和目录结构一并拷贝,但不能拷贝隐藏文件和系统文件;选用/S时对源目录下及其子目录下的所有文件进行COPY。除非指定/E参数,否则/S不会拷贝空目录,若不指定/S参数,则XCOPY只拷贝源目录本身的文件,而不涉及其下的子目录;选用/V参数时,对的拷贝的扇区都进行较验,但速度会降低。
FOR 7:
C:\>xcopy yyy d:
yyy.txt
        1 File(s) copied

8.FC——文件比较命令
? 功能:比较文件的异同,并列出差异处。
? 类型:外部命令
? 格式:FC[盘符:][路径名]〈文件名〉[盘符:][路径名][文件名][/A][/B][/C][/N]
说明:选用/A参数,为ASCII码比较模式;选用/B参数,为二进制比较模式;选用/C参数,将大小写字符看成是相同的字符;选用/N参数,在ASCII码比较方式下,显示相异处的行号。
FOR 8:
C:\>fc yyy.txt cly.txt
Comparing files yyy.txt and cly.txt
****** yyy.txt
oeekjeheqwkf
****** cly.txt
1111
******

9.ATTRIB——修改文件属性命令
? 功能:修改指定文件的属性。
? 类型:外部命令。
? 格式:ATTRIB[文件名][R][—R][A][—A][H][—H][S][—S][/S]
说明:选用R参数,将指定文件设为只读属性,使得该文件只能读取而无法写入数据或删除,选用——R参数,去除只读属性;A参数为档案属性;H参数为隐含属性;S参数为系统属性。
FOR 9:
C:\>attrib yyy.txt +h +r   
C:\>attrib yyy.txt -h –r   

10.MEM——查看当前内存状况命令
? 功能:显示当前内存使用的情况
? 类型:外部命令
? 格式:MEM[/C][/F][/M][/P]
说明:选用/C参数列出装入常规内存和CMB的各文件的长度,同时也显示内存空间的使用状况和最大的可用空间;选用/F参数分别列出当前常规内存剩余的字节大小和UMB可用的区域及大小;选用/M参数显示该模块使用内存地地址、大小及模块性质;选用/P参数指定当输出超过一屏时,暂停供用户查看。
FOR 10:
C:\>mem

11.TREE——显示磁盘的目录结构
? 功能:显示指定磁盘或路径的目录结构。
? 类型:外部命令。
? 格式 [盘符][路径]TREE[盘符][路径][/F]
说明:命令格式中的前一个盘符与路径是用来说明tree.com文件所在的盘与目录;第二个盘符与路径是用来说明需要显示目录结构的磁盘与目录;参数/F除显示目录结构外,还显示各级目录中的所有文件。若省略此参数,仅仅显示目录结构;当目录结构较长且一屏显示不下时,可用命令TREE|MORE分屏显示。
FOR 11:
C:\>tree   

操作实例:
①在C盘下新建两个目录X和Y,②进入X目录下新建一个x..bat文件,③再在Y目录下新建y.txt文件,④将x..bat和y.txt文件合并一个新文件xy.bat并保存在D盘,⑤将xy.bat重命名为xy.txt,并查看文件里面的具体内容,⑥在文件里面加入自己的x+y=z并保存,⑦将xy.txt文件属性设置为只读和隐藏。
操作过程:
C:\>md x
C:\>md y
C:\>cd x
C:\x>edit
C:\x>cd\
C:\>cd y
C:\y>edit
C:\>copy c:\x\x.bat+c:\y\y.txt d:\xy.bat
c:\x\x.bat
c:\y\y.txt
        1 file(s) copied
C:\>ren d:\xy.bat xy.txt
C:\>type d:\xy.txt
C:\>edit d:\xy.txt
C:\>attrib +r +h d:\xy.txt

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\


一、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只显示文件名,至于文件大小及建立的日期和时间则都省略。加上参数后,每行可以显示五个文件名。 

五、PATH——路径设置命令 

1.功能:设备可执行文件的搜索路径,只对文件有效。 
2.类型:内部命令 
3.格式:PATH[盘符1]目录[路径名1]{[;盘符2:],〈目录路径名2〉…} 
4.使用说明: 
(1)当运行一个可执行文件时,DOS会先在当前目录中搜索该文件,若找到则运行之;若找不到该文件,则根据PATH命令所设置的路径,顺序逐条地到目录中搜索该文件; 
(2)PATH命令中的路径,若有两条以上,各路径之间以一个分号“;”隔开; 
(3)PATH命令有三种使用方法: 
PATH[盘符1:][路径1][盘符2:][路径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] 
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,则进行删除,回答N,则取消此次删除作业。
(八) 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参数时,显示出简明的系统报告。

转载于:https://my.oschina.net/xiufeng/blog/340441

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值