朋友,欢迎你来到的心灵港湾!

DOS批处理实战

上一篇 / 下一篇  2007-12-13 01:29:35

后缀是bat的文件就是批处理文件,是一种文本文件。简单的说,它的作用就是自动的连续执行多条命令,批处理文件的内容就是一条一条的命令。那它有什么用呢?
lBb,|r9g0
%GoM `Nd,S-^0  比如,在启动wps软件时,每次都必须执行
+@6`(z a|9kmuI0爱好者博墅Hx*c#]@
  C:\>cd wps 爱好者博墅 Ct2_&c x+NuMy
  C:\WPS>spdos
9fk|6E0ZX0  C:\WPS>py
z4I i"_3O8Uc0  C:\WPS>wbx 爱好者博墅] S9^)wM
  C:\WPS>wps 爱好者博墅_*K:^.b:OA^
爱好者博墅P4A7Y5rU6c p4i4}
  如果每次用WPS之前都这样执行一次,您是不是觉得很麻烦呢? 爱好者博墅'e'P Z h,d0R+n

x:g eSs0Z0  如果有一个方法,只需编写一个批处理文件,就会自动执行刚才的所有命令,您想不想学呢? 爱好者博墅%e0Bx[%xdY q9m
爱好者博墅'P i9b(}B)v!A|:d
  当您看完此节,自己编写的第一个批处理文件顺利执行时,您一定会大吃一惊的。 爱好者博墅AC5y1W4oFun
爱好者博墅+RM7q/lD
  此外电脑每次启动时都会寻找autoexec.bat这条批处理文件,从而可执行一些每次开机都要执行的命令,如设置路径path、加载鼠标驱动mouse、磁盘加速smartdrv等,可以使您的电脑真正自动化。 爱好者博墅%iCH5c!q#|$b
爱好者博墅$u)B/T[vk h(p

S^-\ s+h|!^,`0  echo、@、call、pause、rem 是批处理文件最常用的几个命令,我们就从他们开始学起。 echo 表示显示此命令后的字符 爱好者博墅0mB[]%@
  echo off 表示在此语句后所有运行的命令都不显示命令行本身
m#V {5y+MV7D0  @ 与echo off相象,但它是加在其它命令行的最前面,表示运行时不显示命令行本身。
+Y8b3Er5RFVP/@0  call 调用另一条批处理文件(如果直接调用别的批处理文件 ,执行完那条文件后将无法执行当前文件后续命令) 爱好者博墅 rR)] b%Z*KgA
  pause 运行此句会暂停,显示Press any key to continue... 等待用户按任意键后继续。
4}/C2y$D8pC {&C0  rem 表示此命令后的字符为解释行,不执行,只是给自己今后查找用的。爱好者博墅MY `~6U}X8r

Fy)\.M3x1os e0  例:用edit编辑a.bat文件,输入下列内容后存盘为c:\a.bat,执行该批处理文件后可实现:将根目录中所有文件写入a.txt中,启动UCDOS,进入WPS等功能。
K g:P ?ef(P)B0
$SmZ2n6\"v| N1NO0  批处理文件的内容为:         文件表示: 爱好者博墅BWTm$g!r!g"_
爱好者博墅(Y'?$en8g9D)`O2^ ?
    echo off            不显示命令行
}t S%x+ys I0爱好者博墅l2J~ V trh%A
    dir c:\*.* >a.txt       将c盘文件列表写入a.txt
q9wX;@{V IO0
#KM3Kr7O?-^0    call c:\ucdos\ucdos.bat    调用ucdos 爱好者博墅/F yz,N$L8R8v
爱好者博墅jTN2Z3Q} ht
    echo 你好            显示"你好"
-t;Q{7M Mw6Av r0
*Y,z"ui5]g+o Z6X+d0    pause              暂停,等待按键继续 爱好者博墅-e[4u.W6~d i
爱好者博墅IS*^&RA]
    rem 使用wps           注释将使用wps
L"v/N N7h0爱好者博墅hI1X!mCI,BxD
    cd ucdos            进入ucdos目录 爱好者博墅(L3j+ke.r|~7G
爱好者博墅3~j N2[Kf0@ V(|0S1P
    wps               使用wps  
|8X6t8C2Zi0
:S;j&q~],R0  批处理文件中还可以像C语言一样使用参数,这只需用到一个参数表示符%。 爱好者博墅)d3FJRB
爱好者博墅x qEZ&p;\B ~]{A
   %表示参数,参数是指在运行批处理文件时在文件名后加的字符串。变量可以从 %0到%9,%0表示文件名本身,字符串用%1到%9顺序表示。 爱好者博墅4euzX[D
爱好者博墅_BSIzH ?
  例如,C:根目录下一批处理文件名为f.bat,内容为 format %1 爱好者博墅 FkI/{A'rl*Bp$_
爱好者博墅eZd X1@0K]0`
  则如果执行C:\>f a:    则实际执行的是format a: 爱好者博墅5?V$?/XLV.y

M}G8\h0e6X J/x!{6U A0  又如C:根目录下一批处理文件的名为t.bat,内容为 type %1 type %2 爱好者博墅 EsG!?8\(K S
爱好者博墅O^-vm2x
  那么运行C:\>t a.txt b.txt 将顺序地显示a.txt和b.txt文件的内容 爱好者博墅$j`e*o].@

(U-W0sH6Vf0爱好者博墅S a]4v-j'i.Y
  if goto choice for 是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。
$w4mH4r){4}B0爱好者博墅u%x(ff{^~&D ~y
  if 表示将判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式: 爱好者博墅,f.c)vG*X6fHr
  1、if "参数" == "字符串"  待执行的命令
ZwLC~B0  参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号)
dV]g usj+V0  如if "%1"=="a" format a:
'sJ;G hY0
akd;yg+y0  2、if exist 文件名  待执行的命令
t zGt\B0  如果有指定的文件,则条件成立,运行命令,否则运行下一句。如if exist config.sys edit config.sys
WS,ro2HN0
Y9x Y@/HQf0  3、if errorlevel 数字  待执行的命令
-@V(KH a0  如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。如if errorlevel 2 goto x2  DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码
~G2oS8e4F+iR0
Ta*r!Mv,hC(R0  goto 批处理文件运行到这里将跳到goto 所指定的标号处, 一般与if配合使用。 如:爱好者博墅F kIN2s y$E#i0i

6\1m%[%H@9ydO0  goto end 爱好者博墅E0?M;y r J

'U D%|DQOy `0  :end
0Rx0jEaFt0  echo this is the end爱好者博墅xuQ3vt/EM?@5o]H

S6Q&Rm0_ `SX:x8cu0  标号用 :字符串 表示,标号所在行不被执行
"[OX*TO4t_.slZVx\(J0
MiOF6r#hT|Fy0  choice 使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1234……爱好者博墅$u$n-O{tP^6?R)v
爱好者博墅!]+`_*M;?Lp K]
  如: choice /c:dme defrag,mem,end
2O kA S^ \0  将显示
KdT0yQ N0  defrag,mem,end[D,M,E]?
iY7F [7h/R!X8s0
%{V ^Yo|@0  例如,test.bat的内容如下: 爱好者博墅oa*@ F7~S9^ c
  @echo off
vz"Gl6[em9s[0  choice /c:dme defrag,mem,end
$Yzkq%h0  if errorlevel 3 goto defrag 应先判断数值最高的错误码
RTcGGhZ;}H0  if errorlevel 2 goto mem 爱好者博墅B;d4JGj)[K FCat"?q
  if errotlevel 1 goto end 爱好者博墅&U\ SXWLu$q
爱好者博墅3N*I"c pv^
  :defrag
z4N"R,K-U O z!ei0  c:\dos\defrag 爱好者博墅m#[X"}{u1o
  goto end 爱好者博墅DEY0U\6z&f4_'L

K\pD+n3q6k7i*S Q0  :mem
Mw n} PU'}Q0  mem 爱好者博墅NkPI+e y ef
  goto end
!T~ Q2w8H)]0
.Mf9vz5D6_y] r0  :end 爱好者博墅8{~t H%{"J2k*g
  echo good bye
L;b$ni'_0
'^1v"VF!JD[B0  此文件运行后,将显示 defrag,mem,end[D,M,E]? 用户可选择d m e ,然后if语句将作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,文件结束。
O6t U8{mTQa"]0爱好者博墅UT}&BJC R S[
  for 循环命令,只要条件符合,它将多次执行同一命令。 爱好者博墅%WZzY/\Vo)S@
爱好者博墅$S4L&is%y:iO$x
  格式FOR [%%f] in (集合) DO [命令] 爱好者博墅)UC| L'|`;q2pW~ n4W
  只要参数f在指定的集合内,则条件成立,执行命令 爱好者博墅7oQ8Sn*z&dP
爱好者博墅*_r-TO7I]"[
  如果一条批处理文件中有一行:
gQO7G?A{0  for %%c in (*.bat *.txt) do type %%c
;p3{F} {^#p;]nP0  含义是如果是以bat或txt结尾的文件,则显示文件的内容。
^1J`1s,XSvhC0k0
6}+`8Mbx1H0爱好者博墅 L$e3V!nu4^
  DOS在启动会自动运行autoexec.bat这条文件,一般我们在里面装载每次必用的程序,如: path(设置路径)、smartdrv(磁盘加速)、mouse(鼠标启动)、mscdex(光驱连接)、 doskey(键盘管理)、set(设置环境变量)等。
e-T+@Q,O0
BC0[-zy g0  如果启动盘根目录中没有这个文件,电脑会让用户输入日期和时间。 爱好者博墅+f @_P Ao

V s}[!\q0  例如,一个典型的autoexec.bat内容如下: 爱好者博墅+RU }$l4IBH6j9NuR8s

`%lO%Us\ Ux0  @echo off                     不显示命令行 爱好者博墅k;CQE_of

tMS0\K$Xa1w`0  prompt $p$g                    设置提示符前有目录提示 爱好者博墅D!_-@G3M

4M|$OG;oQ4h$K0  path c:\dos;c:\;c:\windows;c:\ucdos;c:\tools    设置路径 爱好者博墅+cD{d:\s%m
爱好者博墅O `'if,q!vZ
  lh c:\dos\doskey.com                加载键盘管理 爱好者博墅|}Lo:yH_5n {

7eObOw1z)_D;C0  lh c:\mouse\mouse.com               加载鼠标管理 爱好者博墅l7zm;V6~5S

zt/Ur_E0  lh c:\dos\smartdrv.exe               加载磁盘加速管理 爱好者博墅4E^9X sg_*Jk,B

%{GLeZ~/nJ0  lh c:\dos\mscdex /S /D:MSCD000 /M:12 /V      加载CD-ROM驱动 爱好者博墅 {4_U#},t;F

^ g:x:J-J"\ d0  set temp=c:\temp                  设置临时目录
-H5G3?u4N9P0
7qs1v%H#V_j3y*U p;s!i0
*ZX Rq O)?-B0

TAG: DOS 批处理 echo if choice

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

我的栏目

日历

« 2008-12-04  
 123456
78910111213
14151617181920
21222324252627
28293031   

数据统计

  • 访问量: 42965
  • 日志数: 56
  • 图片数: 24
  • 书签数: 14
  • 建立时间: 2006-08-04
  • 更新时间: 2008-09-04

RSS订阅

Open Toolbar