最全批处理命令学习资料【完美版】_第1页
最全批处理命令学习资料【完美版】_第2页
最全批处理命令学习资料【完美版】_第3页
最全批处理命令学习资料【完美版】_第4页
最全批处理命令学习资料【完美版】_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、一:批处理文件批处理文件是扩展名为bat 或cmd的文本文件,包含一条或多条命令,由DOS或Windows系统内嵌的命令解释器来解释运行。批处理的本质,是一堆DOS命令按一定顺序排列而形成的集合。二:常用命令:1. echo 和 : #关闭单行回显echo off #从下一行开始关闭回显echo off #从本行开始关闭回显,一般批处理第一行都是这个echo on #从下一行开始打开回显echo #显示当前是 echo off 状态还是 echo on 状态echo. #输出一个”回车换行”,空白行 #(同echo, echo; echo+ echo echo echo/ echo)2. er

2、rorlevelecho%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 c: /b/p #/w不显示详细信息dir *.exe /s #显示当前目录和子目录里所有的.exe文件4. 以树形显示当

3、前路径文件夹结构tree /f #显示每个文件夹中文件的名字。5.md建立子目录 md d:abc #如果 d:a 不存在,将会自动创建中级目录 #如果命令扩展名被停用,则需要键入 mkdir abc6.cd改变当前目录(进入)cd #进入根目录cd #显示当前目录cd /d d:sdk #可以同时更改盘符和目录cd . #返回上一级目录7.rd删除子目录命令rd abc #删除当前目录里的 abc 子目录,要求为空目录rd /s/q d:temp #删除 d:temp 文件夹及其子文件夹和文件/q安静模式磁盘操作类命令:8.format磁盘格式化命令9.chkdsk检查磁盘当前状态命令10.

4、label建立磁盘卷标命令11.vol显示磁盘卷标命令文件操作类命令:12. copy文件复制命令copy c:test.txt d:test.bak复制 c:test.txt 文件到 d: ,并重命名为 test.bakcopy 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.txtcopy test.txt +复制文件到自己,实际上是修

5、改了文件日期13. xcopy目录复制命令xcopy c: d:14. ren 文件改名命令ren d:temp tmp #支持对文件夹的重命名15. attrib修改文件属性命令attrib filename #查看文件属性 + #设置属性- #清除属性r #只读文件a #存档文件s #系统文件H #隐藏文件/S #处理当前文件夹及其所有子文件夹中的匹配文件/D #处理文件夹16. type显示文件内容type c:boot.ini #显示指定文件的内容,程序文件一般会显示乱码type *.txt #显示当前目录里所有.txt文件的内容17. del删除文件命令del d:test.txt

6、#删除指定文件,不能是隐藏、系统、只读文件del /q/a/f d:temp*.* #删除 d:temp 文件夹里面的所有文件包括 隐藏、只读、系统文件,不包括子目录del /q/a/f/s d:temp*.*#删除 d:temp 及子文件夹里面的所有文件包括 隐藏、只读、系统文件,不包括子目录其他命令:18. CLS清屏幕命令19. ver查看系统版本号命令20. time,date 系统时钟日期设置/显示命令date #显示当前日期,并提示输入新日期,按回车略过输入date/t #只显示当前日期,不提示输入新日期time #显示当前时间,并提示输入新时间,按回车略过输入time/t #只显

7、示当前时间,不提示输入新时间21. rem 和 :注释注释行不执行操作22. color设置默认的控制台前景和背景颜色逻辑命令:23. goto 和 :跳转命令:label #行首为:表示该行是标签行,标签行不执行操作goto label #跳转到指定的标签那一行24. set定义变量引用变量可在变量名前后加 % ,即 %变量名%set #显示目前所有可用的变量,包括系统变量和自定义的变量echo %SystemDrive% #显示系统盘盘符。系统变量可以直接引用set p #显示所有以p开头的变量,有就设errorlevel=1set p=aa1bb1aa2bb2 #设置变量p,并赋值为 =

8、 后面的字符串,即aa1bb1aa2bb2echo %p% #显示变量p代表的字符串,即aa1bb1aa2bb2echo %p:6% #显示变量p中第6个字符以后的所有字符,即aa2bb2echo %p:6,3% #显示第6个字符以后的3个字符,即aa2echo %p:0,3% #显示前3个字符,即aa1echo %p:-2% #显示最后面的2个字符,即b2echo %p:0,-2% #显示除了最后2个字符以外的其它字符,即aa1bb1aa2becho %p:aa=c% #用c替换变量p中所有的aa,即显示c1bb1c2bb2echo %p:aa=% #将变量p中的所有aa字符串置换为空,即显

9、示1bb12bb2echo %p:*bb=c% #第一个bb及其之前的所有字符被替换为c,即显示c1aa2bb2set p=%p:*bb=c% #设置变量p,赋值为 %p:*bb=c% ,即c1aa2bb2set /a p=39 #设置p为数值型变量,值为39set /a p=39/10 #支持运算符,有小数时用去尾法,去尾得3,p=3set /a p=p/10 #用 /a 参数时,在 = 后面的变量可以不加%直接引用set /a p=”1&0 #”与”运算,要加引号。其它支持的运算符参见set/?set p= #取消p变量set /p p=请输入屏幕上显示”请输入”,并会将输入的字符串赋值给

10、变量p注意这条可以用来取代 choice 命令注意变量在 if 和 for 的复合语句里是一次性全部替换的,如echo offset p=aaaif %p%=aaa ( echo %p% set p=bbb echo %p% )结果将显示aaaaaa因为在读取 if 语句时已经将所有 %p% 替换为aaa这里的替换,在 /? 帮助里就是指扩充、环境变量扩充可以启用”延缓环境变量扩充”,用 ! 来引用变量,即 !变量名!echo offSETLOCAL ENABLEDELAYEDEXPANSIONset p=aaaif %p%=aaa ( echo %p% set p=bbb echo !p!

11、)ENDLOCAL结果将显示aaabbb还有几个动态变量,运行 set 看不到%CD% #代表当前目录的字符串%DATE% #当前日期%TIME% #当前时间%RANDOM% #随机整数,介于032767%ERRORLEVEL% #当前 ERRORLEVEL 值%CMDEXTVERSION% #当前命令处理器扩展名版本号%CMDCMDLINE% #调用命令处理器的原始命令行可以用echo命令查看每个变量值,如 echo %time%注意 %time% 精确到毫秒,在批处理需要延时处理时可以用到变量大全系统变量:系统将其根据事先定义的条件自动赋值,也就是系统已经给他们定义了值,不需要我们来给他赋

12、值,我们只需要调用。%ALLUSERSPROFILE% 本地 返回“所有用户”配置文件的位置。 %APPDATA% 本地 返回默认情况下应用程序存储数据的位置。 %CD% 本地 返回当前目录字符串。 %CMDCMDLINE% 本地 返回用来启动当前的 Cmd.exe 的准确命令行。 %CMDEXTVERSION% 系统 返回当前的“命令处理程序扩展”的版本号。 %COMPUTERNAME% 系统 返回计算机的名称。 %COMSPEC% 系统 返回命令行解释器可执行程序的准确路径。 %DATE% 系统 返回当前日期。使用与 date /t 命令相同的格式。由 Cmd.exe 生成。%ERRORL

13、EVEL% 系统 返回上一条命令的错误代码。通常用非零值表示错误。 %HOMEDRIVE% 系统 返回连接到用户主目录的本地工作站驱动器号。基于主目录值而设置。用户主目录是在“本地用户和组”中指定的。 %HOMEPATH% 系统 返回用户主目录的完整路径。基于主目录值而设置。用户主目录是在“本地用户和组”中指定的。 %HOMESHARE% 系统 返回用户的共享主目录的网络路径。基于主目录值而设置。用户主目录是在“本地用户和组”中指定的。 %LOGONSERVER% 本地 返回验证当前登录会话的域控制器的名称。 %NUMBER_OF_PROCESSORS% 系统 指定安装在计算机上的处理器的数目

14、。 %OS% 系统 返回操作系统名称。Windows 2000 显示其操作系统为 Windows_NT。 %PATH% 系统 指定可执行文件的搜索路径。 %PATHEXT% 系统 返回操作系统认为可执行的文件扩展名的列表。 %PROCESSOR_ARCHITECTURE% 系统 返回处理器的芯片体系结构。%PROCESSOR_IDENTFIER% 系统 返回处理器说明。 %PROCESSOR_LEVEL% 系统 返回计算机上安装的处理器的型号。 %PROCESSOR_REVISION% 系统 返回处理器的版本号。 %PROMPT% 本地 返回当前解释程序的命令提示符设置。由 Cmd.exe 生

15、成。 %RANDOM% 系统 返回 0 到 32767 之间的任意十进制数字。由 Cmd.exe 生成。 %SYSTEMDRIVE% 系统 返回包含 Windows server operating system 根目录(即系统根目录)的驱动器。 %SYSTEMROOT% 系统 返回 Windows server operating system 根目录的位置。 %TEMP% 和 %TMP% 系统和用户 返回对当前登录用户可用的应用程序所使用的默认临时目录。%TIME% 系统 返回当前时间。使用与 time /t 命令相同的格式。由 Cmd.exe 生成。%USERDOMAIN% 本地 返回包

16、含用户帐户的域的名称。 %USERNAME% 本地 返回当前登录的用户的名称。 %USERPROFILE% 本地 返回当前用户的配置文件的位置。 %WINDIR% 系统 返回操作系统目录的位置。 25. pause暂停命令26. if判断命令if ERRORLEVEL number command#判断命令是否正确运行通常情况下,命令执行成功后,系统变量ERRORLEVEL会被设置成0,若命令失败,或遇到非法命令,系统变量ERRORLEVEL会被设置成非0。if string1=string2 command#判断某两个字符串是否相等if exit filename command#判断驱动器

17、、文件或文件夹是否存在if defined var command#判断某个变量是否已经被赋值if 1 equ 2#判断某两个数值是否相等EQU#等于=NEQ#不等于!=LSS#小于LEQ#小于或等于GEQ #大于或等于=注:#ELSE 子句必须出现在同一行上的 IF 之后Example:if %1=/a echo 第一个参数是/aif /i %1 equ /a echo 第一个参数是/a/i 表示不区分大小写,equ 和 = 是一样的其它运算符参见 if/?if exist c:test.bat echo 存在c:test.bat文件if not exist c:windows ( echo

18、 不存在c:windows文件夹 )if exist c:test.bat ( echo 存在c:test.bat ) else ( echo 不存在c:test.bat )if exist 文件名 待执行的命令如果有指定的文件,则条件成立,运行命令,否则运行下一句。如if exist config.sys edit config.sysif errorlevel / if not errorlevel 数字 待执行的命令如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。如if errorlevel 2 goto x2 27. call命令调用子程序CALL drive:path

19、filename batch-parametersbatch-parameters 指定批处理程序所需的命令行信息(参数)。28. exit命令退出命令29. for循环/F#分块提取文件/D#显示当前目录下所有指定的目录名称/R #枚举文件和目录/L#计次循环子参数:tokens(块)、delims(分块标志)、eol(忽略行)、skip(跳过行)、userbackq(支持长路径名)CMD窗口中:for %I in (command1) do command2批处理中:for %I in (command1) do command21、for、in和do是for语句的关键字,它们三个缺一不可

20、;2、%I是for语句中对形式变量的引用,就算它在do后的语句中没有参与语句的执行,也是必须出现的;3、in之后,do之前的括号不能省略;4、command1表示字符串或变量,command2表示字符串、变量或命令语句;echo offfor %I in () do echo %Ipause1、for语句的形式变量I,可以换成26个字母中的任意一个,这些字母会区分大小写,也就是说,%I和%i会被认为不是同一个变量;形式变量I还可以换成其他的字符,但是,为了不与批处理中的%0%9这10个形式变量发生冲突,请不要随意把%I替换为%0 %9中的任意一个;2、in和do之间的command1表示的字符

21、串或变量可以是一个,也可以是多个,每一个字符串或变量,我们称之为一个元素,每个元素之间,用空格键、跳格键、逗号、分号或等号分隔;3、for语句依次提取command1中的每一个元素,把它的值赋予形式变量I,带到do后的command2中参与命令的执行;并且每次只提取一个元素,然后执行一次do后的命令语句,而无论这个元素是否被带到command2中参与了command2的运行;当执行完一次do后的语句之后,再提取command1中的下一个元素,再执行一次command2,如此循环,直到command1中的所有元素都已经被提取完毕,该for语句才宣告执行结束;Example:for /f toke

22、ns=1 delims= %a in (test.txt) do (echo %a)取第1行并显示for /f tokens=1,2 delims= %a in (test.txt) do (echo %a %b)取1,2行并显示for /f tokens=1-3 delims= %a in (test.txt) do (echo %a %b %c)取1到3行并显示for /f tokens=2,3,* delims= %a in (test.txt) do (echo %a %b %c)取2,3行并显示for /f eol=! tokens=* %a in (test.txt) do (ec

23、ho %a)忽略!开头的行并显示for /f skip=3 tokens=* %a in (test.txt) do (echo %a)忽略前三行并显示for /d %a in (pro*,doc*) do (echo %a)显示以pro开头的目录名称,显示以doc开头的目录名称for /r %systemroot% %a in (*.tmp) do (echo %a)显示root目录下后缀名为.tmp的文件及目录set i=0for /l %a in (1,1,100) do (set /a i+=1)echo 结算结果:%i%(变量起始值,每次递加的步长,终止值)for /f usebac

24、kq %a in (C:Program Filesjksing.txt) do (echo %a)显示jksing中的内容,若去掉usebackq,则输出C:Programfor /r %i in (*.txt) do (echo %fi)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 (*

25、.txt) do find abc %i在当前目录和子目录里所有的.txt文件中搜索包含 abc 字符串的行for /r . %i in (.) do echo %pn显示当前目录名和所有子目录名,包括路径,不包括盘符for /r d:mp3 %i in (*.mp3) do echo %id:mp3.txt把 d:mp3 及其子目录里的mp3文件的文件名都存到 d:mp3.txt 里去for /l %i in (2,1,8) do echo %i生成2345678的一串数字,2是数字序列的开头,8是结尾,1表示每次加1for /f %i in (set) do echo %i对 set 命令

26、的输出结果循环调用,每行一个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列每列之间的

27、分隔符为默认的空格可以注意到 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列给 %

28、a ,其后的列都给 %b30. 参数%0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %* i%命令行传递给批处理的参数%0 #批处理文件本身%1 #第一个参数%9 #第九个参数%* #从第一个参数开始的所有参数参数扩展:%1 #删除引号(),扩充 %1%f1 #将 %1 扩充到一个完全合格的路径名%d1 #仅将 %1 扩充到一个驱动器号%p1 #仅将 %1 扩充到一个路径%n1 #仅将 %1 扩充到一个文件名%x1 #仅将 %1 扩充到一个文件扩展名%s1 #扩充的路径指含有短名%a1 #将 %1 扩充到文件属性%t1 #将 %1 扩充到文件的日期/时间%z1 #将 %1 扩充到文

29、件的大小%$PATH#查找列在 PATH 环境变量的目录,并将 %1扩充到找到的第一个完全合格的名称。如果环境变量名未被定义,或者没有找到文件,此组合键会扩充到空字符串可以组合修定符来取得多重结果:%dp1 #只将 %1 扩展到驱动器号和路径%nx1 #只将 %1 扩展到文件名和扩展名%dp$PATH:#在列在 PATH 环境变量中的目录里查找 %1,并扩展到找到的第一个文件的驱动器号和路径%ftza1 #将 %1 扩展到类似 DIR 的输出行31. find查找命令(外部命令)在文件中搜索字符串find abc c:test.txt在 c:test.txt 文件里查找含 abc 字符串的行如

30、果找不到,将设 errorlevel 返回码为1find /i “abc” c:test.txt查找含 abc 的行,忽略大小写find /c abc c:test.txt显示含 abc 的行的行数32. more逐屏显示输出more c:test.txt #逐屏显示 c:test.txt 的文件内容33. assoc 和 ftype文件关联assoc 设置文件扩展名关联,关联到文件类型ftype 设置文件类型关联,关联到执行程序和参数当你双击一个.txt文件时,windows并不是根据.txt直接判断用 notepad.exe 打开而是先判断.txt属于 txtfile 文件类型再调用 tx

31、tfile 关联的命令行 txtfile=%SystemRoot%system32NOTEPAD.EXE %1可以在文件夹选项文件类型里修改这2种关联assoc #显示所有文件扩展名关联assoc .txt #显示.txt代表的文件类型,结果显示 .txt=txtfileassoc .doc #显示.doc代表的文件类型,结果显示 .doc=Word.Document.8assoc .exe #显示.exe代表的文件类型,结果显示 .exe=exefileftype #显示所有文件类型关联ftype exefile #显示exefile类型关联的命令行,结果显示 exefile=%1 %* a

32、ssoc .txt=Word.Document.8设置.txt为word类型的文档,可以看到.txt文件的图标都变了assoc .txt=txtfile恢复.txt的正确关联ftype exefile=%1 %*恢复 exefile 的正确关联如果该关联已经被破坏,可以运行 ,再输入这条命令34. pushd 和 popd切换当前目录echo offc: & cd & md mp3 #在 C: 建立 mp3 文件夹md d:mp4 #在 D: 建立 mp4 文件夹cd /d d:mp4 #更改当前目录为 d:mp4pushd c:mp3 #保存当前目录,并切换当前目录为 c:mp3popd #

33、恢复当前目录为刚才保存的 d:mp435. subst映射磁盘subst z: serverd #这样输入z:就可以访问serverd了subst z: /d #取消该映射subst #显示目前所有的映时常用特殊符号: 1.#命令行回显屏蔽符 2.%#批处理变量引导符 3.#重定向符 4.#重定向符 5.&, , 重定向符 清除文件中原有的内容后再写入 追加内容到文件末尾,而不会清除原有的内容主要将本来显示在屏幕上的内容输出到指定文件中指定文件如果不存在,则自动生成该文件Example: echo hello 1.txt echo world 1.txt 这时候 1.txt 内容如下: hel

34、lo world type c:test.txt prn屏幕上不显示文件内容,转向输出到打印机echo hello worldcon在屏幕上显示hello world,实际上所有输出都是默认 con 的copy c:test.txt f: nul拷贝文件,并且不显示文件复制成功的提示信息,但如果f盘不存在,还是会显示出错信息copy c:test.txt f: nul 2nul不显示”文件复制成功”的提示信息,并且f盘不存在的话,也不显示错误提示信息echo W Wc:test.txt生成的文件内容为 W W 和 是控制命令,要把它们输出到文件,必须在前面加个 符号3. &,& 重定向符&将一

35、个句柄的输出写入到另一个句柄的输入中&相反,从一个句柄读取输入并将其写入到另一个句柄输出中 Example:echo offecho 2005-05-01temp.txtdate nul 表示禁止输出正确的信息 2nul 表示禁止输出错误信息。 其中的 1 与 2 都是代表某个数据流输入输出的地址(NT CMD 称之为句柄,MSDOS 称之为设备)。 句柄 0 :标准输入stdin,键盘输入 句柄 1:标准输出stdout,输出到命令提示符窗口(console,代码为 CON ) 句柄 2:标准错误stderr,输出到命令提示符窗口(console,代码为 CON ) 其中的 stdin 可被

36、、重定向。 我们已经知道读取文本中的内容可以用 for 命令,但如果只需要读取第一行用 for 命令就有点麻烦。简单的 办法如下: echo off set /p str=%0 echo %str% pause 运行显示批处理文件自身的第一行:echo off 4. & ,& ,| 组合命令 & 、& 、|为组合命令,顾名思义,就是可以把多个命令组合起来当一个命令来执行。这在批处理脚本里 是允许的,而且用的非常广泛。因为批处理认行不认命令数目。&:语法:第一条命令 & 第二条命令 & 第三条命令. &允许在一行中使用 2 个以上不同的命令,当第一个命令执行失败了,也不影响后边的命令执行。 这里

37、&两边的命令是顺序执行的,从前往后执行。 比如: dir z: & dir y: & dir c: 以上命令会连续显示z,y,c 盘的内容,不理会该盘是否存在 &:语法:第一条命令 & 第二条命令 & 第三条命令. 用这种方法可以同时执行多条命令,当碰到执行出错的命令后将不执行后面的命令,如果一直没有出错则 一直执行完所有命令 这个命令和上边的类似,但区别是,第一个命令失败时,后边的命令也不会执行 dir z: & dir y: & dir c: |:语法:第一条命令 | 第二条命令 | 第三条命令. 用这种方法可以同时执行多条命令,当一条命令失败后才执行第二条命令,当碰到执行正确的命令后将不

38、 执行后面的命令,如果没有出现正确的命令则一直执行完所有命令; 提示:组合命令和重定向命令一起使用必须注意优先级 管道命令的优先级高于重定向命令,重定向命令的优先级高于组合命令 5. | 命令管道符 格式:第一条命令 | 第二条命令 | 第三条命令. 将第一条命令的结果作为第二条命令的参数来使用,记得在 unix 中这种方式很常见。 例如: dir *.* /s/a | find /c .exe管道命令表示先执行 dir 命令,对其输出的结果执行后面的 find 命令该命令行结果:输出当前文件夹及所有子文件夹里的.exe文件的个数type c:test.txt|more这个和 more c:t

39、est.txt 的效果是一样的dir c:|find txt 以上命令是:查找C:所有,并发现 TXT 字符串。 FIND 的功能请用 FIND /? 自行查看 在不使 format 的自动格式化参数时,我是这样来自动格式化A 盘的 echo y|format a: /s /q /v:system 用过 format 的都知道,再格盘时要输入y 来确认是否格盘,这个命令前加上 echo y 并用|字符来将 echo y 的结果传给format 命令 从而达到自动输入 y 的目的6. 转义字符 是对特殊符号,& 的前导字符,在命令中他将以上 3 个符号的特殊功能去掉仅只把他们当成符号而不使用他们

40、的特殊意义。 Example:echo test 1.txt 结果则是:test 1.txt 他没有追加在 1.txt 里,只是显示了出来 另外,此转义字符还可以用作续行符号。 echo off echo 英雄 是 好 男人 pause 为什么转义字符放在行尾可以起到续行符的作用呢?原因很简单,因为每行末尾还有一个看不见的符号,即回车符,转义字符位于行尾时就让回车符失效了,从而起到了续行的作用7. 字符串界定符 双引号允许在字符串中包含空格,进入一个特殊目录可以用如下方法 cd program files cd progra1 cd pro* 以上三种方法都可以进入 program files

41、 这个目录 8. ; 分号 分号,当命令相同时,可以将不同目标用;来隔离但执行效果不变,如执行过程中发生错误则只返回错误报告,但程序仍会执行。(有人说不会继续执行,其实测试一下就知道了) 比如: dir c:;d:;e:;z: 以上命令相当于 dir c: dir d: dir e: dir f: 如果其中 z 盘不存在,运行显示:系统找不到指定的路径。然后终止命令的执行。 例:dir c:;d:;e:1.txt 以上命令相当于 dir c: dir d: dir e:1.txt 其中文件 e:1.txt 不存在,但 e 盘存在,有错误提示,但命令仍会执行。 如果目标路径不存在,则终止执行;如

42、果路径存在,仅文件不存在,则继续执行。 9. () 括号小括号在批处理编程中有特殊的作用,左右括号必须成对使用括号中可以包括多行命令,这些命令将被看成一个整体,视为一条命令行 括号在 for 语句和 if 语句中常见,用来嵌套使用循环或条件语句,其实括号()也可以单独使用,请看例子。 Example:echo 1 & echo 2 & echo 3 可以写成: ( echo 1 echo 2 echo 3 ) 上面两种写法效果一样,这两种写法都被视为是一条命令行。 注意:这种多条命令被视为一条命令行时,如果其中有变量,就涉及到变量延迟的问题 10. ! 感叹号 在变量延迟问题中,用来表示变量,

43、即%var%应该表示为!var!DOS 编程高级技巧 :一、交互界面设计 没啥说的,看看高手设计的菜单界面吧: echo off cls title 终极多功能修复 :menu cls color 0A echo. echo = echo 请选择要进行的操作,然后按回车 echo = echo. echo 1. 网络修复及上网相关设置,修复IE, 自定义屏蔽网站 echo. echo 2. 病毒专杀工具,端口关闭工具,关闭自动播放 echo. echo 3. 清除所有多余的自启动项目,修复系统错误 echo. echo 4. 清理系统垃圾,提高启动速度 echo. echo Q.退出 echo

44、. echo. :cho set choice= set /p choice= 请选择 : IF NOT %choice%= SET choice=%choice:0,1% if /i %choice%=1 goto ip if /i %choice%=2 goto setsave if /i %choice%=3 goto kaiji if /i %choice%=4 goto clean if /i %choice%=Q goto endd echo 选择无效,请重新输入 echo. goto cho 只要学完本教程前面的章节,上面的程序应该能看懂了。 二、if else 条件语句 前面已

45、经谈到,DOS 条件语句主要有以下形式 IF NOT ERRORLEVEL number command IF NOT string1=string2 command IF NOT EXIST filename command 增强用法:IF string1 compare-op string2 command 增强用法中加上/I 就不区分大小写了! 增强用法中还有一些用来判断数字的符号: EQU - 等于 NEQ - 不等于 LSS - 小于 LEQ - 小于或等于 GTR - 大于 GEQ - 大于或等于 上面的command命令都可以用小括号来使用多条命令的组合,包括 else 子句,组

46、合命令中可以嵌套使用条件或循环命令。 例如 : IF EXIST filename ( del filename ) ELSE ( echo filename missing ) 也可写成: if exist filename (del filename) else (echo filename missing) 但这种写法不适合命令太多或嵌套命令的使用。 三、循环语句 1、指定次数循环 FOR /L %variable IN (start,step,end) DO command command-parameters 组合命令: FOR /L %variable IN (start,step,end) DO ( Command1 Command2 ) 2、对某集合执行循环语句。 FOR %variable IN (set) DO command command-parameters %variable 指定一个单一字母可替换的参数。 (set) 指定一个或一组文件。可以使用通配符。 command 对每个文件执行的命令,可用小括号使用多条命令组合。 FOR /R drive:path %variable IN (set) DO command command-parameters 检查以 drive:path 为根的目录树,指向每个目录中

温馨提示

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

评论

0/150

提交评论