DOS下符号的作用参考
- 格式:doc
- 大小:51.00 KB
- 文档页数:10
DOS中断:1、字符功能调用类(Character-Oriented Function)01H、07H和08H —从标准输入设备输入字符02H —字符输出03H —辅助设备的输入04H —辅助设备的输出05H —打印输出06H —控制台输入/输出09H —显示字符串0AH —键盘缓冲输入0BH —检测输入状态0CH —清输入缓冲区的输入功能(1)、功能01H、07H和08H功能描述:从标准输入设备(如:键盘)读入一个字符。
该中断在处理过程中将一直处于等待状态直到有字符可读为止。
该输入还可被重定向,如果这样做,则无法判断文件是否已到文件尾入口参数:AH=01H,过滤掉控制字符,并回显=07H,不过滤掉控制字符,不回显=08H,过滤掉控制字符,不回显出口参数:AL=输入字符的ASCII码(2)、功能02H功能描述:向标准输出设备(如:屏幕)输出一个字符。
该输出还可被重定向,如果这样做,则将无法判断磁盘是否满入口参数:AH=02HDL=待输出字符的ASCII码出口参数:无(3)、功能03H功能描述:从辅助设备读入一个字符,该辅助设备的缺省值为COM1入口参数:AH=03H出口参数:AL=读入字符的ASCII码(4)、功能04H功能描述:向辅助设备输出一个字符,该辅助设备的缺省值为COM1入口参数:AH=04HDL=待输出字符的ASCII码出口参数:无(5)、功能05H功能描述:向标准的输出设备输出一个字符。
该缺省的输出设备为LPT1端口的打印机,除非用MODE命令来改变入口参数:AH=05HDL=待输出字符的ASCII码出口参数:无(6)、功能06H功能描述:控制台(如:键盘、屏幕)输入/输出。
如果输入/输出操作被重定向,那么,将无法判断文件是否已到文件尾,或磁盘已满入口参数:AH=06H,DL=输入/输出功能选择出口参数:若DL=00H-FEH,则此功能为输出,DL为待输出字符的ASCII码;若DL=0FFH,则此功能为输入,此时:若ZF=1,则无字符可读,否则,AL=读入字符的ASCII码(7)、功能09H功能描述:输出一个字符串到标准输出设备上。
dos命令大全及用法_dos命令详解dos命令大全do命令详解2.dir盘符:路径文件名字:表示指定目录下是否有这个文件,若盘符:路径与当前盘符:路径相同,可以省略盘符:路径。
例如:dirc:windowytem32calc.e某e就是表示查看ytem32目录下是否有该calc.e某e文件,如果有就会提示没有则不提示,如果在C盘查找该文件时,加上/则可以在C盘所有目录下搜索该文件。
3.dir某.e某e或dirap.某:支持通配符查看,前者表示查看所有e 某e文件,后者表示查看名字为ap任意后缀文件。
文件多建议配合/p。
4./p参数:表示在dir浏览的时候可以一屏一屏地显示,并且按任意键继续浏览。
5./w:横向显示文件和目录名称,一般分为三排,但不显示文件的创建时间、数量。
其中用中[]括起来的是目录。
6./a:如果直接是/a那么就显示所有属性的文件,包括dir看不到的系统隐藏属性的文件。
下面是/a的子参数,子参数可以多个,例如/ah 就是显示隐藏和系统属性的。
属性开关可以组合使用,但属性之间不能用空格隔开。
中间也可以使用冒号进行表示,例如dir/a:h带子参数:dir/ad只显示目录dir/ah:只显示隐藏属性的文件(h=hidden隐藏的)dir/ar只显示只读属性的文件(r=read)dir/a:只显示系统文件(=ytem)dir/aa:只显示存档属性文件(a=archive)dir/a-h显示非隐藏性的文件dir/a-:显示非系统属性的文件dir/a-d仅显示任意属性文件,不显示文件夹。
dir/a-a:显示没有更改过的存档文件dir/a-r显示非只读属性的文件。
7./:表示显示该目录以及该目录下所有子目录中的文件夹和文件。
例如dir/c:就会显示C盘下所有文件包括window、ytem32等C盘全部目录以及目录下子目录下的文件。
8./o:(o=order顺序)表示查看该目录下的文件时候进行排序,不接子参数表示默认按先以字母顺序显示目录,再以字母顺序显示文件。
DOS命令符集合1. ASSOC 显示或修改文件扩展名关联ASSOC [.ext[=[fileT ype]]].ext 指定跟文件类型关联的文件扩展名fileT ype 指定跟文件扩展名关联的文件类型键入ASSOC 而不带参数,显示当前文件关联。
如果只用文件扩展名调用ASSOC,则显示那个文件扩展名的当前文件关联。
如果不为文件类型指定任何参数,命令会删除文件扩展名的关联。
2. ATTRIB 显示或更改文件属性ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [+I | -I][drive:][path][filename] [/S [/D] [/L]]+ 设置属性。
- 清除属性。
R 只读文件属性。
A存档文件属性。
S 系统文件属性。
H 隐藏文件属性。
I 无内容索引文件属性。
[drive:][path][filename]指定attrib 要处理的文件。
/S 处理当前文件夹及其所有子文件夹中的匹配文件。
/D 也处理文件夹。
/L 处理符号链接和符号链接目标的属性。
3. BREAK 设置或清除扩展式CTRL+C 检查这个命令是为了与DOS 系统的兼容而保留的,在Windows里不起作用。
如果命令扩展被启用,并且操作平台是Windows,BREAK 命令会在被调试程序调试时输入一个硬代码中断点。
4. BCDEDIT 设置启动数据库中的属性以控制启动加载Bcdedit.exe 命令行工具用于修改启动配置数据存储。
启动配置数据存储包含启动配置参数并控制操作系统的启动方式。
这些参数以前位于Boot.ini 文件中(在基于BIOS 的操作系统中)或位于稳定RAM 项中(在基于可扩展固件接口的操作系统中)可以使用Bcdedit.exe 在启动配置数据存储中添加、删除、编辑和附加项。
有关命令和选项的详细信息,请键入bcdedit.exe /? <command>。
一.文件夹操作类命令一.MD——建立子目录1.功能:创建新的子目录2.使用说明:(1)“盘符”:指定要建立子目录的磁盘驱动器字母,若省略,则为当前驱动器;(2)“路径名”:要建立的子目录的上级目录名,若缺省则建在当前目录下。
二.CD——改变当前目录1.功能:显示当前目录2.使用说明:(1)如果省略路径和子目录名则显示当前目录;(2)如采用“CD、”格式,则退回到根目录;(3)如采用“CD.。
”格式则退回到上一级目录。
三.RD——删除子目录命令1.功能:从指定的磁盘删除了目录。
2.使用说明:(1)子目录在删除前必须是空的,也就是说需要先进入该子目录,使用DEL(删除文件的命令)将其子目录下的文件删空,然后再退回到上一级目录,用RD命令删除该了目录本身;(2)不能删除根目录和当前目录。
四.DIR——显示磁盘目录命令1.功能:显示磁盘目录的内容。
五.PATH——路径设置命令1.功能:设备可执行文件的搜索路径,只对文件有效。
2.类型:内部命令3.格式:PATH[盘符1]目录[路径名1]{[;盘符2:],〈目录路径名2〉…}4.使用说明:(1)当运行一个可执行文件时,DOS会先在当前目录中搜索该文件,若找到则运行之;若找不到该文件,则根据PA TH命令所设置的路径,顺序逐条地到目录中搜索该文件;(2)PATH命令中的路径,若有两条以上,各路径之间以一个分号“;”隔开;(3)PATH命令有三种使用方法:PATH[盘符1:][路径1][盘符2:][路径2]…(设定可执行文件的搜索路径)PATH:(取消所有路径)PATH:(显示目前所设的路径)六.TREE——显示磁盘目录结构命令1.功能:显示指定驱动器上所有目录路径和这些目录下的所有文件名。
2.类型:外部命令3.格式:TREE[盘符:][/F][》PRN]4.使用说明:(1)使用/F参数时显示所有目录及目录下的所有文件,省略时,只显示目录,不显示目录下的文件;(2)选用>PRN参数时,则把所列目录及目录中的文件名打印输出。
常用的DOS功能调用:1.键盘输入并显示(1号功能调用)格式:MOV AH, 01HINT 21H功能:按下任何键,将其对应字符的ASCII码送入AL中,并在屏幕上显示该字符。
如果按下的是Ctrl+Break组合键,则终止程序执行。
1号功能调用无须入口参数,出口参数在AL中2.键盘输入但不显示输入字符(8号功能调用)格式:MOV AH, 08HINT 21H功能:同1号功能调用,但字符不在屏幕上显示。
3.屏幕显示一个字符(2号功能调用)格式:MOV DL, ‘字符’MOV AH, 02HINT 21H功能:将置入DL寄存器中的字符在屏幕上显示输出。
4.打印输出(5号功能调用)格式:MOV DL, ‘字符’MOV AH, 05HINT 21H功能:将置入DL寄存器中的字符送打印机接口,打印输出。
5.屏幕显示字符串(9号功能调用)格式:MOV DX, 字符串的偏移地址MOV AH, 09HINT 21H功能:在屏幕上显示字符串。
在使用9号功能调用时,应当注意以下问题。
① 待显示的字符串必须先放在内存一数据区(DS段)中,且以‘$’符号作为结束标志。
② 应当将字符串首地址的段基址和偏移地址分别存入DS和DX寄存器中。
6.字符串输入功能调用(0AH号功能调用)格式:MOV DX, 已定义缓冲区的偏移地址MOV AH, 0AHINT 21H功能:从键盘接收字符,并存放到内存缓冲区。
在使用0AH号功能调用时,应当注意以下问题。
① 执行前先定义一个输入缓冲区,缓冲区内第一个字节定义为允许最多输入的字符个数,字符个数应包括回车符0DH在内,不能为“0”值。
第二个字节保留,在执行程序完毕后存入输入的实际字符个数。
从第三个字节开始存入从键盘上接收字符的ASCII码。
若实际输入的字符个数少于定义的最大字符个数,则缓冲区其他单元自动清0。
若实际输入的字符个数大于定义的字符个数,其后输入的字符丢弃不用,且响铃示警,一直到输入回车键为止。
常用DOS命令及用法DOS是英文Disk Operating System的缩写,意思是“磁盘操作系统”,是一个单用户、单任务的操作系统,采用的是对计算机手动输入命令行的方式下,对计算机进行操作和控制。
命令提示符(CMD)是Operating System/2 , Windows CE与Windows NT平台为基础的操作系统下的“MS-DOS 方式”。
计算机的启动、读取文件的顺序,开机--IO.SYS--MSDOS.SYS--CONFIG.SYS--CO --AUTOEXEC.BAT Eex为可执行文件Com为命令文件Bat为批处理文件“\”当前的工作目录是根目录directory(目录)=Dir:查看目录dir c查看C盘所以文件dir/p切换屏幕看文件dir/w整屏看文件dir abc查看当前目录中abc文件的信息change directory(改变目录)=CDcd windows进入当前盘符下的windows文件目录cd..返回上层目录cd\返回根目录make directory--创建目录=MDmd xiaoqiang在当前目录下建立名字为xiaoqiang的文件夹remove directory--删除目录=RDrd xiaoqiang将当前目录下名字为xiaoqiang的文件夹删除1、要删除的目录里不能再有子目录。
2、要删除的目录内不能有任何文件。
3、不能删除当前目录。
4、根目录不能被删除。
Copy—复制Copy xiao.txt gu.mht将当前目录下名为xiao格式为.txt的文件复制到当前相同目录下,复制后的名字为gu格式为.mht。
两个文件内容大小都相同。
Copy c:\windows\explorer.exe将C盘下Windows文件夹中的explorer.exe文件保持不变的复制到当前目录下。
Copy c:\windows\explorer.exe f: 将C盘下windows文件夹中的explorer.Exe文件保持不变的复制到F盘根目录下。
正文开始:____________________________________________________________________________________ ______一、单符号~①在for中表示使用增强的变量扩展。
②在%var:~n,m%中表示使用扩展环境变量指定位置的字符串。
③在set/a中表示一元运算符,将操作数按位取反。
!①在set /a中一元运算符,表示逻辑非。
比如set /a a=!0,这时a就表示逻辑1。
@①隐藏命令行本身的回显,常用于批处理中。
$①在findstr命令里面表示一行的结束。
②在prompt命令里面,表示将其后的字符转义(符号化或者效果化)。
%①在set /a中的二元运算符,表示算术取余。
②命令行环境下,在for命令in前,后面接一个字符(可以是字母、数字或者一些特定字符),表示指定一个循环或者遍历指标变量。
③批处理中,后接一个数字表示引用本批处理当前执行时的指定的参数。
④其它情况下,%将会被脱去(批处理)或保留(命令行)^①取消特定字符的转义作用,比如& | > < ! "等,但不包括%。
比如要在屏幕显示一些特殊的字符,比如> >> | ^ &等符号时,就可以在其前面加一个^符号来显示这个^后面的字符了,^^就是显示一个^,^|就是显示一个|字符了;②在set/a中的二元运算符,表示按位异或。
③在findstr/r的[]中表示不匹配指定的字符集。
&①命令连接字符。
比如我要在一行文本上同时执行两个命令,就可以用&命令连接这两个命令。
②在set/a中是按位与。
*①代表任意个任意字符,就是我们通常所说的"通配符";比如想在c盘的根目录查找c盘根目录里所有的文本文件(.txt),那么就可以输入命令"dir c:\*.txt"。
②在set /a中的二元运算符,表示算术乘法。
③在findstr/r中表示将前一个字符多次匹配。
-①范围表示符,比如日期的查找,for命令里的tokens操作中就可以用到这个字符。
②在findstr/r中连接两个字符表示匹配范围。
③-跟在某些命令的/后表示取反向的开关。
④在set /a中:1.表示一个负数。
2.表示算术减运算。
+①主要是在copy命令里面会用到它,表示将很多个文件合并为一个文件,就要用到这个+字符了。
②在set/a中的二元运算符,表示算术加法。
:①标签定位符,表示其后的字符串为以标签,可以作为goto命令的作用对象。
比如在批处理文件里面定义了一个":begin"标签,用"goto begin"命令就可以转到":begin"标签后面来执行批处理命令了。
②在%var:string1=string2%中分隔变量名和被替换字串关系。
|①管道符,就是将上一个命令的输出,作为下一个命令的输入."dir /a/b |more"就可以逐屏的显示dir命令所输出的信息。
②在set/a中的二元运算符,表示按位或。
③在帮助文档中表示其前后两个开关、选项或参数是二选一的。
/①表示其后的字符(串)是命令的功能开关(选项)。
比如"dir /s/b/a-d"表示"dir"命令指定的不同的参数。
②在set/a中表示除法。
>①命令重定向符,将其前面的命令的输出结果重新定向到其后面的设备中去,后面的设备中的内容被覆盖。
比如可以用"dir > lxmxn.txt"将"dir"命令的结果输出到"lxmxn.txt"这个文本文件中去。
②在findstr/r中表示匹配单词的右边界,需要配合转义字符\使用。
<①将其后面的文件的内容作为其前面命令的输入。
②在findstr/r中表示匹配单词的左边界,需要配合转义字符\使用。
=①赋值符号,用于变量的赋值。
比如"set a=windows"的意思意思是将"windows"这个字符串赋给变量"a"。
②在set/a中表示算术运算,比如"set /a x=5-6*5"。
\①这个"\"符号在有的情况下,代表的是当前路径的根目录.比如当前目录在c:\windows\system32下,那么你"dir \"的话,就相当与"dir c:\"。
②在findstr/r中表示正则转义字符。
,①在set /a中表示连续表达式的分割符。
②在某些命令中分割元素。
.①在路径的\后紧跟或者单独出现时:一个.表示当前目录。
两个.表示上一级目录。
②在路径中的文件名中出现时:最后的一个.表示主文件名与扩展文件名的分隔。
?①在findstr/r中表示在此位置匹配一个任意字符。
②在路径中表示在此位置通配任意一个字符。
③紧跟在/后表示获取命令的帮助文档。
____________________________________________________________________________________ ______二、多符号(符号不能分隔)&&①连接两个命令,当&&前的命令成功时,才执行&&后的命令。
||①连接两个命令,当||前的命令失败时,才执行||后的命令。
>&①将一个句柄的输出写入到另一个句柄的输入中。
<&①从一个句柄读取输入并将其写入到另一个句柄输出中。
%%①两个连续的%表示在预处理中脱为一个%。
②批处理中,在for语句的in子句之前,连续两个%紧跟一个字符(可以是字母、数字和一些特定字符),表示指定一个循环或者遍历指标变量。
③批处理中,在for语句中,使用与in之前指定的指标变量相同的串,表示引用这个指标变量。
>>①命令重定向符,将其前面的命令的输出结果追加到其后面的设备中去。
②在set /a中的二元运算符,表示逻辑右移。
==①在if命令中判断==两边的元素是否相同。
<<①在set /a中的二元运算符,表示逻辑左移。
+=①在set /a中的二元运算符。
例如set /a a+=b表示将a加上b的结果赋值给a。
-=①在set /a中的二元运算符。
例如set /a a-=b表示将a减去b的结果赋值给a。
*=①在set /a中的二元运算符。
例如set /a a*=b表示将a乘以b的结果赋值给a。
/=①在set /a中的二元运算符。
例如set /a a/=b表示将a除以b的结果赋值给a。
%=①在set /a中的二元运算符。
例如set /a a%=b表示将a除以b的余数赋值给a。
【注:命令行可以直接用set /a a%=b ,在批处理里面可以用set /a a%%=b 。
】^=①在set /a中的二元运算符。
例如set /a a"^="b表示将a与b按位异的结果赋值给a。
【注:这里"^=" 加引号是为了防止^被转义,下同。
】&=①在set /a中的二元运算符。
例如set /a a"&="b表示将a与b按位与的结果赋值给a。
|=①在set /a中的二元运算符。
例如set /a a"|="b表示将a与b按位或的结果赋值给a。
<<=①在set /a中的二元运算符。
例如set /a a"<<="b表示将a按位左移b位的结果赋值给a。
>>=①在set /a中的二元运算符。
例如set /a a">>="b表示将a按位右移b位的结果赋值给a。
\<①在findstr的一般表达式中表示字的开始处。
\>①在findstr的一般表达式中表示字的结束处。
__________________________________________________________________________________________三、双符号对(两个符号之间须指定字符串)! !①当启用变量延迟时,使用!!将变量名扩起来表示对变量值的引用。
' '①在for/f中表示将它们包含的内容当作命令行执行并分析其输出。
②在for/f "usebackq"中表示将它们包含的字符串当作字符串分析。
( )①命令包含或者是具有优先权的界定符,比如for命令要用到这个(),我们还可以在if,echo等命令中见到它的身影。
②在set /a中表示表达式分组。
" "①界定符,在表示带有空格的路径时常要用""来将路径括起来,在一些命令里面也需要" "符号。
②在for/f中将表示它们包含的内容当作字符串分析。
③在for/f "usebackq"表示它们包含的内容当作文件路径并分析其文件的内容。
④在其它情况下表示其中的内容是一个完整的字符串,其中的>、>>、<、&、|、空格等不再转义。
` `①在for/f中表示它们所包含的内容当作命令行执行并分析它的输出。
% %①使用两个单独的%包含一个字符串表示引用以此串为名的环境变量。
比如一个%time%可以扩展到当前的系统时间。
[ ]①在帮助文档表示其中的开关、选项或参数是可选的。
②在findstr /r中表示按其中指定的字符集匹配。
批处理goto语句的:eof,:~截取字符,替代字符操作等:EOF ,其实也是一个标签:: 在批处理中的作用是“注释”“记得曾经有人说过它不过是一个无效的标签而已注释只是它的副作用”已经去掉了关于::的解释。
“因为cmd检查到冒号后有无效字符时直接忽略处理”测试发现无所谓“无效”字符,可以是任何字符。
“相反数的说法容易让人误解”已经修改过来了,先前这样写是让别人容易理解写,但是没有描述其具体的本质作用。
“^是按位异或”已经修改。
btw,想问一下,异或和异有什么区别呢?测试发现无所谓“无效”字符,可以是任何字符。
-----------------------:字符后当然可以是任何字符因为无效字符cmd是忽略解释的怎么可以知道这一点呢?定制一个这样的标签::errorlabel然后试着goto ::errorlabel如果能goto到说明是有效的否则是无效的我们的注释自然是需要无效的标签标记否则有可能跟系统定义的或者我们定义的标签冲突关于::的由来其实早有渊源起初是因为ms-dos 给的rem 命令后无法直接使用管道和重定向符号而且如果不echo off它的代码就会在运行时回显所以就有人钻了这么一个漏子而已从这几点也可以看出因为少了许多预处理的过程使用::的效率要高于rem后来虽然cmd中虽然对rem作了许多改进但::因为简单易用并且接近高级语言的注释标记所以已经流传开来----------------------------------我没有见过“按位异”的说法“异或”的意思是不同于“或”因为或的规则是0|0=00|1=11|0=11|1=1而异或稍有变化0^0=00^1=11^0=11^1=0我说的:后面可以是任何字符,是指在做注释时,没有被调用的标签都可以做注释。