![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-13 01:33 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS学习入门 & 精彩文章 (教学室) » DOS常用命令(下)2 |
| 可打印版本 699 / 0 |
| 第1楼 欧阳慧仪 | 发表于 2003-10-07 00:00 |
| 初级用户 发帖 10 积分 140 | |
|
DOS常用命令(下)2 DOS自带的批处理命令:
@:将这个符号放在批文件中其它命令的前面,运行时将不显示命令本身。 如@ECHO OFF命令就在批文件首经常用到。 CALL:从一个批文件中调用另一个批文件,调用完后继续执行原来的批文件。 用法:CALL 注:也可以使用COMMAND /C命令完成同样的操作。 CHOICE:选择命令。这是一个DOS外部命令,但它主要用在批文件中。 CHOICE命令执行后将提示可选择的项目,这时通过一个按键来选则。 用法:CHOICE:按键表] 选择值,秒数] 其中,/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 EXIST 文件名 命令 意义:如果存在某个文件将执行某个命令。 用法2:IF ERRORLEVEL 错误返回代号 命令 意义:如果错误返回代号大于或等于指定的代号将执行某个命令。 其中,ERRORLEVEL表示错误返回代号,很有用。对于很多DOS命令,由于执行的结果不同(如 执行成功,执行失败,或被用户中断等),这些命令会返回不同的代号,以表示不同的结果。 IF ERRORLEVEL命令就根据这个不同结果而产生的不同代号来执行不同的命令,通常用在某条 命令之后。如IF ERRORLEVEL 1 ECHO OK!表示如果当前的错误返回代号大于或等于1时将在屏 幕上显示“OK!”的字样。 用法3:IF 字符串1==字符串2 命令 意义:当字符串1和字符串2相等的时候执行某个命令。 PAUSE:暂停批文件的执行,并显示“按任意键继续”的字样。 REM:添加注解。用于增加文件可读性,将不被执行。也可以用::来代替。 SHIFT:在批文件中改变可替换参数的位置。 可替换参数是一种特殊的参数,只能用在批文件中。这些参数是由使用者在执行批处理命令 时输入的。比如,我们执行DIR /S /W命令,其中DIR是命令名,/S和/W是它的执行参数。在批 文件中,这些命令参数将被分别赋予到可替换参数中,如/S就成的%1,/W就可了%2,以至类推 ,而命令本身则被赋予%0中。批文件就是利用可替换参数对执行时输入的参数来进行操作的。 比如现在有个批处理文件叫MYFILE.BAT,在命令行下执行MYFILE.BAT YES,于是%0的值就是M YFILE.BAT,%1的值就是“YES”,可以在此批文件中用IF等命令判断出%1等参数的值,然后根 据这些值的不同执行不同的操作,如IF "%1"=="YES" GOTO YES。 SHIFT命令不带任何参数,执行结果是将%0的值换成原%1的值,而原%1的值变成的原%2的值, 以此类推。注意它的不可逆转性。因为批处理文件执行时的运行参数可能很多,可能会超过1 0个,而可替换参数只能从%0到%9,若想取得%9以后的参数值,只能使用SHIFT命令。这时,整 个参数列将向前推。 以上是DOS的自带批处理命令,可以看出,这些命令是非常少的,若要编写较复杂的程序 ,用以上的命令显然不可能实现。这时就需要其它实用的批处理工具了,著名且实用的有TES TIF,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是键 盘缓冲工具。 总之,利用批处理命令和批处理增强工具,我们可以编出许多强大的批处理文件来,大 家不妨一试。许多批处理工具可以在“脚本工具”中下载。 返回页首 -------------------------------------------------------------------------------- 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:仅用在DOS7中的CONFIG.SYS中,用法未知。 DOS未公开参数: COMMAND /F 使Fail作为Abort,Retry,Fail中的默认选项。 COMMAND /D 在DOS5中是禁止AUTOEXEC.BAT自动执行;在6.0+版本中是禁止/F参数。 COMMAND /Z 显示ERRORLEVEL(错误返回代码)信息。 COMMAND /T 在DOS7.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 用于DOS7中,跳过完整性测试。 FDISK /FPRMT 用于DOS7中,自动采用FAT32,并跳过提示信息。 DOSKEY /APPEDIT 使DOSKEY也应用于其它程序(如DEBUG等)中。 DOSKEY /COMMAND和/PERMANENT和/SCRSIZE和/XHISTORY 用法未知。 SCANDISK /CLIP 用于DOS7中,将长文件名剪为短文件名。 SCANDISK /NOLOST 用于DOS7中,不提示表面测试或丢失簇。 SCANDISK /NOUI和/TEXT 用于DOS7中,使用标准的DOS界面。 SCANDISK /MOUNT 相当于SCANDISK.INI中的Mount=Always。 SCANDISK /TIME 相当于SCANDISK.INI中的ScanTimeOut=On。 QBASIC /QHELP 进入DOS6的全屏幕帮助系统,相当于执行HELP命令。 QBASIC /EDCOM 进入DOS6的文件编辑器,相当于执行EDIT命令。 MEM /A或MEM /ALL 显示HMA信息。 VER /R 显示扩展的版本信息。 DIR /Z 用于DOS7中,表示不显示长文件名。 DOS=SINGLE 用在DOS7中的CONFIG.SYS中,启动单一模式的DOS。 DEVICE=HIMEM.SYS /Q 当HIMEM.SYS加载时使用安静模式。 DEVICE=EMM386.EXE NOTR 不要检测Token Ring网络适配器。 DOS未公开用法: IF EXIST XMMXXXX0 ... 此命令可以判断当前是否安装了HIMEM.SYS驱动程序。 IF EXIST EMMXXXX0 ... 此命令则用来判断当前是否安装了EMM386驱动程序。 DIR , 用在DOS7以前的版中中,显示所有文件,相当于DIR /A。 :: 此符号可在批处理文件中代替REM注解命令,可以加快运行速度。 以上是MS-DOS中的未公开命令与参数,其中有些是非常实用的,大家不妨一试 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |