dos命令介绍
dos下的可执行文件有三种,分别是exe,com和bat(当前页支持cmd扩展名)。其中,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 :添加注解。用于增加文件可读性,将不被执行。也可以用::来代替。
dos命令
dos
dos中是通过输入英文命令加回车键这种方式来执行程序的,dos称为单任务的操作系统。
凡后缀为exe、com或bat的文件都是可以直接执行的。这些以exe为后缀的文件叫可执行文件;以com为后缀的文件叫命令文件;以bat为后缀的文件叫批处理文件。如果我们要执行这些文件,只需在提示符下敲入文件基本名然后回车即可,不需输入文件后缀。
所谓批处理,就是一下可以执行很多条命令,当我们想让电脑完成一系列任务时,可以一个一个命令的执行,也可以将这些命令都装入一个文件中,只要敲一下这个文件名,电脑就会将这一批命令一次执行完毕。
在dos中,有个当前目录的概念,就是提示符所显示的目录,现在的提示符是c:\,那么当前目录就是c盘的根目录,这个\(反斜杠)就表示根目录。
在我们输入可执行文件名时,dos会在当前目录中寻找该文件,如果没有该文件,dos会提示错误信息。
要完整地表达一个子目录应该是盘符加目录,比如c: \dos\temp,那么完整地表达文件呢?就是盘符加目录加文件名,比如c:\dos\temp\me.txt,c:\dos\temp\就叫做me.txt的路径。注意:如果路径中有空格,那么整个路径要用"路径"双引号包围起来。
刚才我们说过,输入可执行文件名时,dos会在当前目录中寻找该文件,如果找不到,会提示错误的文件名,但是我们不是一定要把当前目录更换到文件所在的目录才能运行它的,可以在文件名前加上完整的路径就可以了,比如我们现在的当前目录是c:\dos,我们要运行d:\test\pct.exe,那么我们可以直接输入d:\test\pct.exe回车,这样我们不改变当前目录就可以执行其它目录下的文件。
dos的命令分为内部命令和外部命令,内部命令是随command.com装入内存的,而外部命令是一条一条单独的可执行文件。
内部命令都集中在根目录下的command.com文件里,电脑每次启动时都会将这个文件读入内存,也就是说在电脑运行时,这些内部命令都驻留在内存中,用dir是看不到这些内部命令的。而外部命令都是以一个个独立的文件存放在磁盘上的,它们都是以com和exe为后缀的文件,它们并不常驻内存,只有在电脑需要时,才会被调入内存。
?通配符和*的区别是什么呢?*可以代替文件名中的多个字符,而?只能代替文件名中的一个字符。
在使用通配符时,文件基本名和扩展名中最多只能各出现一个*,而?可以在不超过文件名和扩展名长度的前提下出现多个。
1. # time #显示当前时间
2. #dir #查看当前目录下的文件和目录信息
# dir /p #翻页显示
3. #mem #查看当前系统的内存情况
4. #cd #改变当前目录
cd .. # 在dos中,这个两点就表示当前目录的上一层目录,一个点表示当前目录
cd \ #\就表示根目录。
5. #盘符: #更换当前目录到硬盘的其它分区
6. # md(make directory--创建目录)
7.# rd(remove directory--删除目录)
8.#exit #退出dos终端
9.#copy 源文件名 目的文件名 #复制
10.#del 文件名 #删除当前目录的某个文件
11.#ren 源文件名 目的文件名 #改文件名
12.#type 文件名 #查看文件里的内容
#del *.*或del . #删除当前目录中的所有文件
13.#format a: #格式化磁盘