教你如何写BAT命令.docx
- 文档编号:3802235
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:14
- 大小:35.53KB
教你如何写BAT命令.docx
《教你如何写BAT命令.docx》由会员分享,可在线阅读,更多相关《教你如何写BAT命令.docx(14页珍藏版)》请在冰豆网上搜索。
教你如何写BAT命令
教你如何写BAT命令
不要听了批处理文件就感到很神奇,其实这东西很简单的.你用过记事本没有?
用过?
好的.将记事本打开,什么都不用写,然后选择文件,保存.保存类型选择所有文件,文件名则命名为 *.bat 这个*代表是文件名,你可以随便的起.保存好之后,看看你保存的地方,会出现一个白色窗口里有个黄色齿轮的图标.这东西就是你创建的批处理文件,双击他就可以运行,但他现在由于里面没有输入任何命令,所以他运行了并不会做任何事情.当我们想往这个*.bat文件中添加东西时,只要右键选择他,然后选择编辑,就可以打开记事本往内输入命令了.
:
S'p;@:
P&_%c*i&S l7{&\-l6G
批处理文件中的命令是什么?
9b#f X$M7R8_
+E#T P9j;E#k6?
%W(X6\ 批处理文件中的命令暂时先可以理解为dos命令,等稍后深入理解了以后再进行解释.批处理顾名思义就是一大堆东西堆在一起处理.换句话说就是往里面写一条条dos命令,然后按顺序挨个执行,效果跟你在cmd里敲dos命令是一个效果.只不过用批处理写好之后,要运行只要双击下就可以运行了.而不用再一遍一遍的重复的往里面打命令.这就是批处理文件的好处.
&F0F.}0I*R1X f"Z)Y#k,]"~
*m7W0G!
z+k J6m)t:
I 除了运行dos命令之外,他还可以支持选择结构if,循环结构for,goto等,与c有点类似,但远没有c全面,并且编写语言十分不规范.
1c t(_*D+m-f/i9C3v"S,_-d6v'A0C)Y#v:
j W%w
批处理语法:
)@!
b7_7S&H8D*p/\9f;e
i-H%T(d5I0f(v先讲个最基本的东西 @echooff9w.V#S9[:
[1@9P$O N9u
8W)S4P"^6p'D/H;O echo的意思是回旋,这里的意思就是回显,echo off意思就是关闭回显.前面的@表示echooff这一行也不会回显你可以试着去掉@和整行去掉.@的另一个功能是在执行完批处理文件时自动恢复命令回显。
如果第一句用的是ECHOOFF,那么在执行完批处理文件以后不会显示命令提示符。
!
l x+u1U4x(j8S'^"g
-e:
n7e+z$n2k7o:
M4n!
J举个例子:
如果我们先创建一个1.bat文件,往里面输入:
"h4[;b&D8h)d E,[(A;[
-@:
g%c"x.`,d:
S*A(_%x
dir然后保存在c:
\下.然后我们运行cmd,进入c盘根目录下,输入1.bat,则显示:
4U5^*B y8M*@&f2I F
6s$^%s)T"r3tC:
>dir4@1r4T!
v(^8Z"S*\(~
驱动器C中的卷没有标签。
P5^;P%K;V#Q卷的序列号是0C5D-07FF._+D+E1K*f.Q;c/r
'z(D7S!
l$bC:
的目录(t7k K&S:
e1^+u
5M([4E+H!
R
2004-08-25 00:
45
!
g;d(]#F-d5f8m0E6T3\2004-08-25 00:
51
5Y.S:
p/P5]"i&F9m"B
u6Q7c5U)_.z.h/B1]6r...........&L-a*?
'F8m2G0g)F+o7V
@9p,P2Z5v3W$[-Z
C:
8J9L'L.q(M/X
3Z'_#v$j"x!
g(t&[7C如果将1.bat内容修改成'w%E%`7P b/L!
B
&H3m0I5P6j/c,hechooff
"p;q7R.U!
Z U
$i0a3B5c#F9@dir3R!
q)I0E&I6D2J*\0i
5T0@6V,k/\!
X+v0u然后再在cmd里输入1.bat,则会显示
8B$F&G;D+c-r N8p9p%g)[-y(L!
R!
g8l
C:
>echooff //因为运行了echo off,所以没有显示dir命令,直接显示了结果6B/f;g/G#A0k0c2n:
K9G
驱动器C中的卷没有标签。
+g9Q1m!
N6W7o1y(_7i;q卷的序列号是0C5D-07FF1a;d#D,a8J0D2Z
)`*D;[ X:
k+E)F!
w.c
C:
的目录
&r(T(u){7`9k)K/~!
~5O$W
0P+K+Z)s2X&?
+^"j2004-08-25 00:
45
3y"s7a"Q;I0Y:
k$Z2004-08-25 00:
51
1C,`1v
+`,i2`8?
1k/Q _(|+|/^/_..... a+`9b-A8C-I#F6T0z6p
)r0b0W+g7c
C:
!
q;T9P,h0G5A2w-T%U
"c2R3\*u ~
如果将1.bat文件修改成:
({$Z9z8n'l(~9M:
x/i;K%X!
c2e3a:
@#g8{5g
@echooff)h2b0a(B#a8G
dir;k%h*g'L5f/j"x5]-V
!
[#o8J9N!
q
则显示成:
f2s"t6E8v ^
"}9[/d1c0T,Z8y$AC:
>1.bat //与前面不同,并没有显示echo off,原因是加了@,所以不显示@后面的内容.又因为加
+C:
\;u8F ]8U8M1B
2e5n)q1N2o#B2K)B //了echo off,所以后面的命令不显示,直接显示结果
j6z)D+h)g;@)c3A,k-J驱动器C中的卷没有标签。
/R'z6B+N4w&[+z:
_*@8]#];i
卷的序列号是0C5D-07FF
0Q2q/`(G;z5?
"i,I*A)P/v9L8O8X'z*s
C:
的目录0P$S#O2y8|$x
0@/M,I1}6G3t7`5V.`4b2004-08-25 00:
45
2004-08-25 00:
51
0L%s*W:
b8F(c"\+u!
o
:
A5b)`(q x!
L....
6P,e4H/S0d:
P
%P7X4y/l;B#R;f(A4u9y"[C:
3{-x0E:
`;E!
a(|
/x1R0K7d"}!
[通过以上的比较,相信你对echo off命令已经充分掌握了.
6X#c;]5O&a/\2z2W
7p*I8M#M*D3H*l接下来讲的是call命令:
&G4Z+s!
`%E5n1u(f4_-E0V)f(r
call是打电话的call,而不是"喔靠"的靠:
).call的意思为调用.假如有2个批处理文件a.bat和b.bat.如果我想运行a.bat的当中运行b.bat.如何运行呢?
其实很简单,只要在a.bat文件中输入call命令,则可以在a.bat运行的当中,运行b.bat,等b.bat运行完之后,继续执行a.bat
8k%^0r a%} T9d;s;a
6p0[*k&M,F#m0s+M4N/p*x)icall命令格式:
!
u*L-V3['l!
S&[!
J5e-X#y
CALL[drive:
][path]filename[batch-parameters]
%J7K \#E2J!
?
&[/d;_.@9o7\;d,h%s
batch-parameters 指定批处理程序所需的命令行信息。
2c4}4o!
c0j-}4L&R%P)`)Q#j:
G.P-|'u%K&G.{
举例如下,我们在c盘根目录下创建a.bat文件,内容为:
+N8u({;_!
y C5V
9s+_%{)l.~+e1F6]#vecho thisisa.bat
*X%~*e#Y.?
)G+a8I
'n*L;r+~;`calld:
b.bat
3G!
g4S0\3^(h9v*p9W
2|+B,e"X*f+Eechodone+W/K({-y8|2S
8H.z*b:
^7[9|4H#s#p/b然后在d盘根目录下创建b.bat,内容为:
)C3v4q,t5f6m6F;i
-F)p,e(M!
x,S.o0{
echothisisb.bat
5_'_%U"M%z P7R
I,r"B i+]'j X保存后,打开cmd,进入c盘根目录,然后输入1.bat,显示如下:
)?
:
@$a6K;`*~8C9P+h*?
*v;A2T;v8n U.i2|
C:
>a.bat;E7`5W;w3[%j3W'f
.d0Q'u J-s6D,V
C:
>echothisisa.bat
(^(T3o.Z.R(O1G1[#t%Ethisisa.bat
!
V-U7{,@-U0N,N#k4v&d h7R ?
(l q!
J#P9~+e
C:
>calld:
b.bat
&B7m)N7F0`'m6|1T,m,e
+_!
L-S2p/A'|3]"_)gC:
>echothisisb.bat:
k*G8r.`7E:
h*D.A"m4}-n
thisisb.bat
-S6u)N1W!
T5c6`#g9U.X6w M%^
C:
>echodone0H%V8C5k-A
done
!
`+y9K8_,g9v'}-c;F
5[1Q m4p-q)_由例子很容易看出来,是先运行a.bat的内容,直到遇到call b.bat后,则调用b.bat,运行完b.bat后,再返回a.bat接着运行call b.bat后面的echo done语句,直至将a.bat的所有批处理命令运行完.
4y Y;i q#O(T,d-G3t
1[.z,z,}*s2I注:
里面有个[batch-parameters]里面的所指的参数是什么,知道的朋友能否告知,不胜感激.
"w:
P-Q [0a+l#p
2F5\4`!
j.v1i&iPAUSE命令
5N,x1s(j B:
|!
N1b3a6Y7M;\7o0A#l
暂停批处理程序的执行并显示一条消息,提示用户按任意键继续执行。
只能在批处理程序中使用该命令。
'R5T/r I;S1O1d9N%B,d2A+\:
S9c
rem命令:
+~%k;^!
g$_.M3w-W
%C!
t6K'f8N/^)n;U&G
表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释).
#]&?
/b'A5e6i(K&@8Y
6L1m V&J,?
0Y+{"W同时你可以用两个冒号来替代rem.如:
:
:
等同于一个rem.但他们有个区别,就是用:
:
作注释的话他是不回显的,即使你打echo on强制回显也没有用的.同时rem可以在config.sys中加注释.:
f&@-L)o8s6d
:
n*c2\*N9S+T2A语法:
rem[commnet]${'B*a*c;B*o X5L-V
5t8x2\0m0C.i!
}%l2F'P批处理文件参数:
8Y-M*r3e+P,m%p'G$G
4V0Z2q)b0G'_ c9e;\:
n0S有点变成基础的人都知道函数有参数.批处理文件也有参数.1E.]%f/M(S)^
"v/F2^ o7Z/P(b-z我打个比方,希望能帮助没有语言基础的人也能看的非常明白. -|)e"?
"e!
l-o1M:
N1X)l
$l(x"n!
v4T:
k7e
我从例子里开始吧.首先在c盘根目录下创建一个批处理文件a.bat,里面输入内容
#k)~7@.d&?
)l/u'`
%X%U+H"N8S&z#D'O,F/T4Becho%1
:
h%J:
H;u3}.[3Z'V:
V5|#I1A"X+r:
e2}
然后打开cmd,然后进入c盘根目录.输入:
a"thisisacanshu"
0l1h/~1a.s'H+r%N*G+T$Q3~1w:
u0^,b H'_(R
得到结果如下:
(@&E/M$|3C4?
8A)`2l$O.Z&H(I#F'z+a$P
C:
>a.bat"thisisatest"9^.B7f$S6D;?
.f8~!
x
&z'f)t7_-b5O2t6B5i3MC:
>echo"thisisatest"%T"F9d"u&N1y)p
"thisisatest"-k5^(A8~&a$p1s0F
/W(m)^4F&]7{ { 输入的a"thisisacanshu"中,a为新建的a.bat的文件名a(后面的.bat可写也可不写),而a后面的 "thisisacanshu"这句话就是参数,写在这的参数,在程序运行中就将参数自动放到批处理程序中去.那么放在什么位置呢?
就是放在 %1的地方.;U(J,b#f%`(i
$y2m&Z/Q:
y3l 看了例子,让我们看看整个关于参数的定义如何:
)y8N$})_*m3v.e6P.@;@
&c0U:
f*d7\(]6h4g-k
批处理文件还可以像C语言的函数一样使用参数(相当于DOS命令的命令行参数),这需要用到一个参数表示符"%"。
{0p3l'U$A)d6m
%[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串。
变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示。
//我们上个程序的例子里就有%1,他就是参数,而输入中"this is a test"作为参数就直接放到%1的位置,于是程序就变成了echo"thisisatest".$R1i,?
5\#a+x8e"v
'k j5M+O%?
3R 再举几个例子帮助你理解:
R6o T.|&k-Q1L6H:
h5P.[&`3]8[,d/m;W7x4U,t4Y
C:
根目录下一批处理文件名为b.bat,内容为:
'U9y0M'P+K.B g$I0i8M
@echooff-s'Q4J!
`&S(|
type%1 //type为dos中的输出命令,可以用来输出文本文件的内容,比如我们新建一个1.txt文件
"w)h%g){6e,b1F$Z#t.H/S
//里面输入内容,保存.进cmd,如果输入1.txt则看不了1.txt文件内容,但是如果我
I*c,x*n%v$i;^8D#z8K0?
2^4j3D
//想看怎么办呢?
这时候可以用type命令,只要在cmd里输入type 1.txt就能显示
'v1l%v;^1p7P5B7B'G8J.Z a3i3e"s6n+[
//1.txt文件中的内容了
*O7J$^)y7D gtype%2
7]"N1c1?
0I*P3s5{,S*a)z6u"q
那么运行C:
>ba.txtb.txt
2\9\-B1~8t9^ @.v*r,u,^%1:
表示a.txt
2B-M&I W!
d3N.^/_+t;H%2:
表示b.txt:
r9V.Y!
k#](m)h!
N
I4P&e(V7B!
B"L-L7V
于是上面的批处理命令就变成了/a)e(g)`/~-B-C+K4C,d
9I9S#G"g Z7}7`'K;s8{6s@echooff%r5S2S3}"Q0Z&W
$[#h#["g,D7G0Stypea.txt
3y&X+]0_*c%h
9N,V;J4L)W7V:
}5ztypeb.txt*W/h1[)s7x6N+u6x&^
于是上面的命令将顺序地显示a.txt和b.txt文件的内容。
-e-S H,D2j+}2g.P!
G
*|/`.h2f7e$X:
F
没有编程基础的人可能要问,干什么要弄个参数啊?
在后面加个参数多麻烦啊?
直接往里面写不就好了啊?
!
其实这样想有对的方面也有错的方面.还是举个例子说明吧.1w*P,S4J"L%Y-p:
z-w
5a;[$b5y/E;A$T'a m%S第一步还是在c盘根目录下新建一个批处理文件,我们取名仍为a.bat.往里面的内容输入为:
-P)K&g5Z0_3U0\8Z
4m1n!
T4K"]#Eping%1 //ping命令可以简单理解为测试一台机器开着还是没有开,如果开着的话,他就回给你回送回应.
5L#`-T-Z(i3r9F(y U$S7z;l8]*o%[.d
然后进cmd,我们想测试下163的服务器是不是开着,则输入a-v3G%i-~;E$O%w.o;I
'b-U.E#]3`4O/_)U!
e1C:
U
对于知道ping命令的人,可以打ping进行检查,但如果想ping的人不知道ping命令怎么用,那怎么办啊?
这时候你就可以把命令预先输入到批处理文件中,保存好,然后让不会用的人进cmd,运行你的批处理文件,文件名后面加上他要ping 的网站地址就行了.换句话说,他想ping 163就直接加163的网址,想ping sina就直接加sina的网址.这样只要输入一个参数,而不用改程序本身,整个程序的通用性就大大提高了.0^$['C!
n-z5z,f5I
j#n#l2e-I*C 这是对于一个简单的ping命令,你或许觉得用参数不值得,还是直接改不就好了啊.但如果程序有很多条,你一下找不到在哪改怎么办啊?
所以,不管你是菜哥,菜弟,菜姐,菜妹,只要运行下,输入参数,结果自己就会出来,不用再象你一样,考虑怎么编写批处理文件.人家只要知道是输入什么东西能让批处理程序运行,而编写的人则想的是如何让不懂程序的人能运行程序.
+m2b1g%x9u7P"O%@,s \6W"I%`)V3[
批处理参数就这么简单,不知道你理解了没有?
但如果你想深一步了解批处理参数,可以接着往下看,如果不想深入了解,知道现在这么多也就够了.
'v;O S2X8V4A#R+{5y
&h"X6b*s&]#]以下粉红色内容为网上资料.&@.H"q&g,r5c2~
3N0M9{5x)E+l,~:
G
====================================
5F)_*?
2@8Z$y'D!
j;[;{
(j-?
+g.i(L/m0P:
y q 因为参数只有1%-9%,但当我们要引用第十个或更多个参数时,就必须移动DOS的参数起始指针.shift命令正充当了这个移动指针的角色,它将参数的起始指针移动到下一个参数,类似C语言中的指针操作.图示如下:
8]$z+r6b/]4u;g/v)E#Z
7e*J5Y/H%s q5e1c初始状态,cmd为命令名,可以用%0引用%o/[/n2S0w(e3F:
r
cmdarg1arg2arg3arg4arg5arg6arg7arg8arg9arg10
;?
2x#E0}8B2g8k:
~5i^ ^ ^ ^ ^ ^ ^ ^ ^ ^
2f/C5Y.d.P c:
S#])L&line; &line; &line; &line; &line; &line; &line; &line; &line; &line;(?
/g!
V a%H7Y$\5M
%0 %1 %2 %3 %4 %5 %6 %7 %8 %95y"q5t9};O#q5D1t1h-h
3w.[&T/~.|/K*Y'D经过1次shift后,cmd将无法被引用
(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 如何 BAT 命令