DOS内部命令和批处理命令列表_第1页
DOS内部命令和批处理命令列表_第2页
DOS内部命令和批处理命令列表_第3页
DOS内部命令和批处理命令列表_第4页
DOS内部命令和批处理命令列表_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DOS内部命令和批处理命令列表Wikipedia,自由的百科全书MS-DOS 7.1 所有内部命令与批处理命令中文帮助集合        本页所有内容均由 熊朝伟 独自汉化。命令:CALL功能:在批处理文件中调用批处理文件.CALL 驱动器:路径文件名 批命令参数  批命令参数         指定批处理文件所需的命令行参数.命令:CD/CHDIR功能:显示或改变当前目录.CHDIR 驱动器:路径CHDIR.CD 驱动器:路径CD.&#

2、160; .   表示当前目录改变成父目录.键入 CD 驱动器:, 可显示指定驱动器的当前目录.键入不带参数的 CD 可显示当前驱动器和当前目录.命令:CLS功能:清除屏幕。CLS命令:COPY功能:文件拷贝.COPY /A | /B source /A | /B + source /A | /B + . destination  /A | /B /V /Y | /-Y  source       指定被拷贝的文件.  /A     &

3、#160;     表示 ASCII 正文文件.  /B           表示二进制文件.  destination  指定新文件的目录和文件名.  /V           校验新文件是否正确.  /Y        

4、60;  在重写原有的目标文件之前, 不让你确认.  /-Y          在重写原有的目标文件之前, 让你确认.开关项 /Y 可由环境变量 COPYCMD 预设.-Y 可以更改预设值.要合并多个文件时, 可指定单个目标文件, 但指定多个源文件(使用通配符或 文件1+文件2+文件3 格式).命令:DATE功能:显示或设置日期。DATE  日期显示当前日期设置和输入新日期的提示,请键入不带参数的 DATE。要保留现有日期,请按 ENTER。命令:DEL/ERASE功能:删除

5、文件.DEL 驱动器:路径文件名 /PERASE 驱动器:路径文件名 /P  驱动器:路径文件名   指定被删除的文件, 用通配符指定多个文件.  /P            删除每个文件之前显示确认信息.命令:DIR功能:显示目录中的文件和子目录列表。DIR 驱动器:路径文件名 /P /W /A:属性  /O:排序方式 /S /B /L /V /4  驱动器:路径文件名    

6、0;         指定列出的驱动器, 目录或文件。              (可支持带通配符的长文件名)  /P          显示一屏信息后暂停。  /W          使用

7、宽幅列表格式。  /A          显示指定属性的文件。  属性         D  目录                       R  只读文件 

8、              H  隐含文件                   A  准备存档的文件              

9、S  系统文件                   -  前缀, 表示"非"  /O          排序后列出文件。  排序方式     N  按文件名(字母顺序)    &#

10、160;    S  按大小(小文件在前)               E  按扩展名(字母顺序)         D  按日期和时间(先建立的在前)              

11、G  先列出子目录               -  前缀, 表示反序               A  按最后访问日期排序(先访问的在前)  /S          列出指定目录及其所有子

12、目录的文件。  /B          使用空格式(没有标题信息或摘要)。  /L          用小写。  /V          Verbose mode.  /4          用四位数

13、字显示年开关可能已用 DIRCMD 环境变量预置.用连字符(-)可更换预置的开关, 例如/-W.命令:ECHO功能:显示信息, 打开或关闭命令的回显.  ECHO ON | OFF  ECHO 信息键入不带参数的 ECHO 可显示 ECHO 的当前设置.命令:EXIT功能:退出COMMAND.COM命令解释程序.EXIT命令:FOR功能:对一系列文件中的每个文件执行指定的命令.FOR %变量名 IN (文件集) DO 命令名 命令行参数  %变量名    指定可替换型参数.  (文件集)   指定包含一个

14、或多个文件的文件集, 可使用通配符.  命令名     指定为每个文件执行的命令.  命令行参数             指定命令的参数或开关.在批处理文件中使用 FOR 命令时, 用 %变量名 替换 %变量名.命令:GOTO功能:在批处理程序中将 Windows 转向到指定的行号.GOTO 标号  标号    指定在批处理文件中用作标号的正文字符串.标号独占一行, 以冒号打头

15、.命令:IF功能:批文件的条件语句.IF NOT ERRORLEVEL 数值 命令名IF NOT 字串1=字串2 命令名IF NOT EXIST 文件名 命令名  NOT               指示 Windows 在条件不成立时才执行命令.  ERRORLEVEL 数值   如果上次程序返回的退出码大于或等于指定的数值, 则条件成立.  命令名    

16、0;       指定条件满足时应执行的命令.  字串1=字串2      如果正文字符串匹配, 则条件成立.  EXIST 文件名      如果指定的文件存在, 则条件成立.命令:LH/LOADHIGH功能:将程序装入上端内存区.LOADHIGH 驱动器:路径程序名 参数LOADHIGH /L:区域1,最小值1;区域2,最小值2. /S      

17、60;  驱动器:路径程序名 参数/L:区域1,最小值1;区域2,最小值2.            指定装裁程序的内存区域, <区域1> 指定第一个内存区号.            <最小值1> 指定 <区域1> 的最小尺寸(若有).        &#

18、160;   <区域2> 和 <最小值2> 指定第二个内存块号和最小尺寸(若有).            内存区域的个数不限./S          装入程序时, 将 UMB 收缩到最小尺寸.驱动器:路径文件名            指定程序的名

19、称和位置.命令:MD/MKDIR功能:创建目录.MKDIR 驱动器:目录MD 驱动器:目录命令:PATH功能:显示或设置可执行文件的搜索路径.PATH 驱动器:路径.PATH 键入 PATH  可清除所有的搜索路径, 使 Windows 只搜索当前目录键入不带参数的 PATH 可显示当前路径.命令:PAUSE功能:暂停批处理程序,并显示以下消息:    请按任意键继续. . . PAUSE命令:PROMPT功能:更改命令提示符。PROMPT text  text    指定新的命令提示符。提示符可以由普通

20、字符及下列特定代码组成:  $Q    = (等号)  $   $ (货币符号)  $T   当前时间  $D   当前日期  $P   当前驱动器及路径  $V   Windows 版本号  $N   当前驱动器  $G   > (大于符号)  $L   < (小于符号)  $B &#

21、160; | (管道)  $H   退格 (擦除前一个字符)  $E   Escape 码 (ASCII 码 27)  $_   回车换行键入不带参数的 PROMPT 可以将提示符改回默认设置。命令:RD/RMDIR功能:删除目录.RMDIR 驱动器:目录RD 驱动器:目录命令:REM功能:在批处理文件或 CONFIG.SYS 里加上注解或说明。REM 注解命令:REN/RENAME功能:重命名文件或目录列表。RENAME 驱动器:路径文件名1 文件名2.REN 驱动器:路径文件名1 文件名2.请注意,您

22、不能为目标文件或目录列表指定新的驱动器或路径。命令:SET功能:显示, 设置或删除 Windows 环境变量.SET 变量=字符串  变量      指定环境变量名.  字符串    指定赋给环境变量的字符串.键入不带参数的 SET 可显示当前的环境变量.命令:TIME功能:显示或设置系统时间。TIME 时间显示当前时间设置和输入新时间的提示,请键入不带参数的 TIME。要保留现有时间,请按 ENTER。命令:TYPE功能:显示文本文件的内容。TYPE 驱动器:路径文件名命令:VER功能:显示

23、Windows 版本.VER命令:VOL功能:显示磁盘的标签号和存在的序列号.VOL 驱动器:取自"-usebackq - 使用反写的单引号键,(这个键在键盘上数字1的左面,波浪号的下档键)。用它括起的内容为命令。例如 set' 对不起,我这里打不进来,表示执行set命令,即取环境变量。 delims=xxx 定义字词分隔符,默认是空白键,表格键。delims=就是不用默认分隔符,用自己在这里定义的东西,例如分号豆号。 eol=c 定义注解开始点的符号(1个字符),该号起,直到行尾是注解 skip=3 跳过文件开始的头3行。墨认是跳过所有空白行,不跳有字行。 tokens=x

24、,y,m-n , x,y是特殊字符,例如要查找的字符,m-n 是范围,第几到第几个特殊字符,在此范围内的内容作语法分析。 "usebackq delims=;"联在一起 - 仍应看成分别的两个定义,一个定义反引号,另一个定义分隔符是""号。批处理中的for详解批处理中的for详解 简单说,FOR是个循环,可以用你指定的循环范围生成一系列命令。最简单的例子,就是人工指定循环范围,然后对每个值执行指定的命令。例如,想快速报告每个硬盘分区的剩余空间: for %a in (c: d: e: f :) do dir %a find "bytes fre

25、e" 将输出: 8 Dir(s) 1,361,334,272 bytes free 15 Dir(s) 8,505,581,568 bytes free 12 Dir(s) 12,975,149,056 bytes free 7 Dir(s) 11,658,854,400 bytes free 用它可以使一些不支持通配符的命令对一系列文件进行操作。在WIN9X中,TYPE命令(显示文件内容)是不支持*.txt这种格式的(WIN2K开始TYPE已支持通配)。遇到类似情况就可以用FOR: for %a in (*.txt) do type %a 这些还不是FOR最强大的功能。我认为它最强

26、大的功能,表现在以下这些高级应用: 1. 可以用 /r 参数遍历整个目录树 2. 可以用 /f 参数将文本文件内容作为循环范围 3. 可以用 /f 参数将某一命令执行结果作为循环范围 4. 可以用 % 操作符将文件名分离成文件名、扩展名、盘符等独立部分 现分别举例说明如下: 1. 用 /r 遍历目录树 当用 *.* 或 *.txt 等文件名通配符作为 for /r 的循环范围时,可以对当前目录下所有文件(包括子目录里面的文件)进行操作。举个例子,你想在当前目录的所有txt文件(包括子目录)内容中查找"bluebear"字样,但由于find本身不能遍历子目录,所以我们用for

27、: for /r . %a in (*.txt) do find "bluebear" %a find 前面的 只是让输出结果不包括 find 命令本身。这是DOS很早就有的功能。和FOR无关。 当用 . 作为循环范围时,for 只将子目录的结构(目录名)作为循环范围,而不包括里面的文件。有点象 TREE 命令,不过侧重点不同。TREE 的重点是用很漂亮易读的格式输出,而FOR的输出适合一些自动任务,例如,我们都知道用CVS管理的项目中,每个子目录下都会有一个CVS目录,有时在软件发行时我们想把这些CVS目录全部去掉: for /r . %a in (.) do if ex

28、ist %aCVS rd /s /q %aCVS 先用 if exist 判断一下,是因为 for 只是机械的对每个目录进行列举,如果有些目录下面没有CVS也会被执行到。用 if exist 判断一下比较安全。 这种删除命令威力太大,请小心使用。最好是在真正执行以上的删除命令前,将 rd /s /q 换成 echo 先列出要删出的目录,确认无误后再换回rd /s /q: for /r . %a in (.) do if exist %aCVS echo %aCVS 可能目录中会多出一层 ".",比如 c:projrelease.CVS ,但不会影响命令的执行效果。 2. 将

29、某一文件内容或命令执行结果作为循环范围: 假如你有一个文件 todel.txt,里面是所有要删除的文件列表,现在你想将里面列出的每个文件都删掉。假设这个文件是每个文件名占一行,象这样: c:tempa1.txt c:tempa2.txt c:tempsubdirb3.txt c:tempsubdirb4.txt 那么可以用FOR来完成: for /f %a in (todel.txt) do del %a 这个命令还可以更强大。比如你的 todel.txt 并不是象上面例子那么干净,而是由DIR直接生成,有一些没用的信息,比如这样: Volume in drive D is DATA Volu

30、me Serial Number is C47C-9908 Directory of D:tmp 09/26/2001 12:50 PM 18,426 alg0925.txt 12/02/2001 04:29 AM 795 bsample.txt 04/11/2002 04:18 AM 2,043 invitation.txt 4 File(s) 25,651 bytes 0 Dir(s) 4,060,700,672 bytes free for 仍然可以解出其中的文件名并进行操作: for /f "skip=5 tokens=5" %a in (todel.txt) do

31、 if exist %a DEL %a 当然,上面这个命令是在进行删除,如果你只是想看看哪些文件将被操作,把DEL换成echo: for /f "skip=5 tokens=5" %a in (todel.txt) do if exist %a echo %a 你将看到: alg0925.txt bsample.txt invitation.txt skip=5表示跳过前5行(就是DIR输出的头部信息),tokens=5表示将每行的第5列作为循环值放入%a,正好是文件名。在这里我加了一个文件存在判断,是因为最后一行的"free"刚好也是第5列,目前还想不

32、出好的办法来滤掉最后两行,所以检查一下可保万无一失。 3. 可以用 /f 参数将某一命令执行结果作为循环范围 非常有用的功能。比如,我们想知道目前的环境变量有哪些名字(我们只要名字,不要值)。可是SET命令的输出是“名字=值”的格式,现在可以用FOR来只取得名字部分: FOR /F "delims=" %i IN ('set') DO echo %i 将看到: ALLUSERSPROFILE APPDATA CLASSPATH CommonProgramFiles COMPUTERNAME ComSpec dircmd HOMEDRIVE . 这里是将set

33、命令执行的结果拿来作为循环范围。delims=表示用=作为分隔符,由于FOR /F默认是用每行第一个TOKEN,所以可以分离出变量名。如果是想仅列出值: FOR /F "delims= tokens=2" %i IN ('set') DO echo %i tokens=2和前例相同,表示将第二列(由=作为分隔符)作为循环值。 再来个更有用的例子: 我们知道 date /t (/t表示不要询问用户输入)的输出是象这样的: Sat 07/13/2002 现在我想分离出日期部分,也就是13: for /f "tokens=3 delims=/ "

34、; %a in ('date /t') do echo %a 实际上把 tokens后面换成1,2,3或4,你将分别得到Sat, 07, 13和2002。注意delims=/后面还有个空格,表示/和空格都是分隔符。由于这个空格delims必须是/f选项的最后一项。 再灵活一点,象本文开头提到的,将日期用2002-07-13的格式输出: for /f "tokens=2,3,4 delims=/ " %a in ('date /t') do echo %c-%a-%b 当tokens后跟多个值时,将分别映射到%a, %b, %c等。实际上跟你指

35、定的变量有关,如果你指定的是 %i, 它们就会用%i, %j, %k等。 灵活应用这一点,几乎没有做不了的事。 4. 可以用 % 操作符将文件名分离成文件名、扩展名、盘符等独立部分 这个比较简单,就是说将循环变量的值自动分离成只要文件名,只要扩展名,或只要盘符等等。 例:要将 c:mp3下所有mp3的歌名列出,如果用一般的 dir /b/s 或 for /r ,将会是这样: g:mp3Archived05-18-01-A游鸿明-下沙游鸿明-01 下沙.mp3 g:mp3Archived05-18-01-A游鸿明-下沙游鸿明-02 21个人.mp3 . g:mp3Archived05-18-01

36、-A王菲-寓言王菲-阿修罗.mp3 g:mp3Archived05-18-01-A王菲-寓言王菲-彼岸花.mp3 g:mp3Archived05-18-01-A王菲-寓言王菲-不爱我的我不爱.mp3 . 如果我只要歌名(不要路径和".mp3"): 游鸿明-01 下沙 游鸿明-02 21个人 . 王菲-阿修罗 王菲-彼岸花 王菲-不爱我的我不爱 . 那么可以用FOR命令: for /r g:mp3 %a in (*.mp3) do echo %na 批处理FOR命令中的变量2007年10月19日 星期五 04:25FOR命令中有一些变量,他们的用法许多新手朋友还不太了解,今天

37、给大家讲解他们的用法!先把FOR的变量全部列出来: I - 删除任何引号("),扩展 %I %fI - 将 %I 扩展到一个完全合格的路径名 %dI - 仅将 %I 扩展到一个驱动器号 %pI - 仅将 %I 扩展到一个路径 %nI - 仅将 %I 扩展到一个文件名 %xI - 仅将 %I 扩展到一个文件扩展名 %sI - 扩展的路径只含有短名 %aI - 将 %I 扩展到文件的文件属性 %tI - 将 %I 扩展到文件的日期/时间 %zI - 将 %I 扩展到文件的大小 %$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩展 到找到的第一个完全合格的名称。如果环境变量名

38、 未被定义,或者没有找到文件,此组合键会扩展到 空字符串我们可以看到每行都有一个大写字母"I",这个I其实就是我们在FOR带入的变量,我们FOR语句代入的变量名是什么,这里就写什么.比如:FOR /F %z IN ('set') DO echo %z这里我们代入的变量名是z那么我们就要把那个I改成z,例如%fI改为%fz至于前面的%p这样的内容就是语法了!好开始讲解:I - 删除任何引号("),扩展 %I这个变量的作用就如他的说明,删除引号!我们来看这个例子:首先我们在桌面建立一个名字为temp.txt文本文件,在里面输入这些内容"111

39、12222""3333"44"44然后在建立个BAT文件代码如下:FOR /F "delims=" %i IN (temp.txt) DO echo %ipause执行后,我们看CMD的回显如下:11112222"333344"44和之前temp.txt中的内容对比一下,我们会发现第一行和第三行的引号都消失了,这就是删除引号i的作用了!删除引号规则如下(BAT兄补充!)1、若字符串首尾同时存在引号,则删除首尾的引号;2、若字符串尾不存在引号,则删除字符串首的引号;3、如果字符串中间存在引号,或者只在尾部存在引号,则

40、不删除。%fI - 将 %I 扩展到一个完全合格的路径名看例子:把代码保存放在随便哪个地方,我这里就放桌面吧.FOR /F "delims=" %i IN ('dir /b') DO echo %fipause执行后显示内容如下C:Documents and SettingsAdministrator桌面test.batC:Documents and SettingsAdministrator桌面test.vbs当我把代码中的 %fi直接改成%iFOR /F "delims=" %i IN ('dir /b') DO echo %ipause执行后就会显示这些内容test.battest.vbs通过对比,我们很容易就看出没有路径了,这就是"将 %I 扩展到一个完全合格的路径名"的作用也就是如果%i变量的内容是一个文件名的话,他就会把这个文件所在的绝对路径打印出来,而不只单单打印一个文件名,自己动手动实验下就知道了!%dI - 仅将 %I 扩展到一个驱动器号看例子:代码如下,我还是放到桌面执行!FOR /F "delims=" %i IN ('dir /b') DO echo %dipause执行后我CMD里显示如下C:C:我桌面就两个文件test.b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论