You are on page 1of 6

Gio trnh tin hc : Batch File (.bat .

cmd) - Khi nim, cu trc v


cc ng dng trong thc t
Vo thi im ny khi nhc ti h iu hnh MS DOS c l khng t
ngi s ni l mt th c k, lc hu v ng nh Microsoft nn
loi b n khi cc h iu bnh tn thi hin nay. V mnh c th
chc chn rng rt nhiu Newbie lun c ngh trong u. Bi v
rt nhiu bn qun rng cc h iu hnh Windows ca Microsoft
hin nay u c xy dng trn nn tng ca DOS v c v khi
vic nu dng Windows s vt v mi thc hin c trong khi
ch vi vi cu lnh DOS n gin mi chuyn s hon ton theo
bn.
Batch File lun c xem l mt thnh phn khng th thiu ca
DOS. y, vi trnh ca mnh ti cng chi c gng em n cho
cc bn mt s kin thc CObn v Batch File, th m mi ngi vn
thng gi l file Bat. Hy vng vi cht kin thc t i m ti cng
cp cc bn s c nhng vn dng hiu qu vo trong qu trnh hc
tp v ngm cu.
khai thc ht c cc tnh nng u vit ca Batch File cc bn nn
tham kho thm cun Ebook Lnh DOS trong Windows do Trn
Quang Hi bin son v cng c Dr.Batcher thay cho Notepad.
L Cc kin thc c bn v BATCH FELE:
1. Batch File l g?
Vi khi nim c th ngi ta cho rng Batch File l mt tp x l lnh
theo l. Ngha l cc bn c th t mt chui lnh m bn mun thc
hin nhiu ln vo v mi ln cn bn chi vic gi file ny ra m
khng phi nh hng lot lnh na. en by gi th Batch File c
cho l 1 loi ngn ng script.
Bn nn bit rng dng file c phn m rng l .BAT c i cht khc
vi dng .CMD. Vi nh dng .BAT th n c thc thi bi
command.com (16 bit), nu phn m rng l .CMD th n c thc thi
bi cmd.exe (32bit). Chc bn cng bit rng trong Windows hin nay tt
cc dng file ny u c thc thi bi cmd.exe cn command.com l
thnh phn ca h iu hnh DOS. V th bn nn s dng phn m rng
cho thch hfp.
2. Cc lnh c bn dng trong Batch File.

2.1. Lnh tm ngh (PAUSE):


Khi gp lnh ny chng trnh dch s tm nghi cho ti khi bn bm phm
bt k. N thng c dng kim tra tin trnh chy ca Batch File.
V d:
ECHO OFF
ECHO:
ECHO File BAtch duoc xem la thanh phan khong the thieu cua HH
DOS
ECHO:
Echo Hy vong bai viet se CO ich voi cac ban
ECHO:
ECHO http://vnnewbies.com
ECHO:
PAUSE

2.2. Lnh gi mt tp BAT (CALL):


Lnh ny gip bn gi ra mt File Batch khc m khng kt thc File
Batch dang thc thi. Lu : File c phn m rng l .BAT ch gi c
file c phn m rng l .BAT ch khng th gi file c phn m rng l
CMD. V ngc li.
Tt nhin l file BATCH c gi s tun theo nh dng m file
BATCH ang thc thi nh dng trc .
V d:
ECHO OFF
ECHO:
ECHO File BAtch duoc xem la thanh phan khong the thieu cua HH

DOS
ECHO:
Echo Hy vong bai viet se CO ich voi cac ban
ECHO:
PAUSE
ECHO:
CALL newbiex.cmd
ECHO:
ECHO http://vnnewbies.com
ECHO:
PAUSE

2.3. Lnh hin th cc lnh (ECHO):


Vi 2 ch ON/OFF gip bn iu chnh vic cho php hin th cc
dng lnh thc thi hoc n n i.
Khi gp lnh ECHO OFF DOS s thc hin cc lnh dng tip theo
m khng hin th c cu lnh ln cho ti khi gp lnh ECHO ON.
Thng thng ngi ta dng lnh ECHO a ra mt thng bo no
v s dng mu ECHO: DOS cho ra mt dng trng.
V d: Tp newbiex.cmd m mnh gi ra v d trn:
ECHO VnNewbies.com
ECHO:
Echo Share is Love
ECHO:
PAUSE
2.4. Ghi ch thch trong file BATCH (REM):

ghi ch thch trong file BATCH bn dng lnh REM. Cc ch thch


t sau lnh ny s khng c thc thi v hin th.
Li khuyn cho Newbie trc khi c bi vit ny vn l cc bn nn
tham kho thm cun Ebook Lnh DOS trong Windows do Trn
Quang Hi bin son v s dng cng c Dr.Batcher thay cho Notepad
son tho Batch File. Khi nm vng kin thc v cc lnh ca DOS
bn mi c khai thc ht sc mnh ca Batch File v vi Dr.Batcher, bn
ko phi g tng lnh na m c h tr hon ton.

lo

dit

Scarch

ew

g atch

% B

CClO R
COMP

t ie b

'0 0 ' ,

ATTRIB

COMPACT

rem
cem
rem
rem
rein
rex

D isp la y's, s e t s , or rem oves tk o r e a d - o n ly . A rc h iv a , sy a


[< c \-r)J
C S e ts th e ce<fd-only f i l e t t t i b u t c .
{+ a \-a ) - +a S e ts th e a r c h iv e f i l e a t t r i b u t e . -a c
( + s \ - ) - S S e t s t h e sy'stcnt f l i c a t t r i b u t e .
- s Cl
( + h |- J ) i - +1 S e t s th e h id d en r i i e a t t r i b u t e .
-ft C2
I (D riv e: IP a th P ileN a rrt - S p e c i f i e s th e l c c a t i o n nci
l / s - A p p lie s a t t r i b nd any cotrmartci-linc o p tio n s to n
renI 1/dJJ - A p p lie s at r r ib and any coxtnand-line o p tio n s tc

CONVERT
COPY
DATE
DEL

:p

D1SKC0 MP
DI5KC0 PY
OOSKEY
END.OCAL
ERASE
EXIT
FC
FIND
FINOSTft
FOR

ECHO

-r

resn Turns th e cxm and-echon z e a z u r e on o r o t i or cLispl


ccm [ { o n o f fH - S p e c i f i c s w h eth er to tu rn (h e comnt-and-cch
ri [Btessage] - S p c i f i e s t e x t you want to d i s p l a y on th e

C /'.O M .T

lo d s

Insert Comrftand (ENTER)

Turns t h com rrand-edong featu re


GO or off, or displys a fW M O c.
U sed Vrtthout p aram eters, echo
teptays th e eurrcnt fechi setting.

1:11

Saved

<!

>

Insert

3. Lp trnh n gin trong Batch File:


3.1.

Lnh iu khin vng lp (For):

FOR %%Bin IN (Tp hp) DO Lnh cn lm


Lnh ny c ngha l mt Bin s ln lt nhn cc gi tr trong Tp_hp
thc hin cc Lnh_cn_lm.
V d:
FOR %%i IN (D,E,F) DO COPY vnnewbies.cmd %%i
Vi lnh ny bin i s ln lt nhn cc gi tr D, E , F t d s thc hin
lnh copy tp vnnewbies.cmd sang th mc gc ca cc phn vng c,D,
F.

3.2. Php kim tra iu kin hay php r nhnh (If):


y l lnh gip bn thc hin tng lnh khc nhau ty vo tng iu
kin khc nhau. Php th c 3 kiu:
If [not] exist: Kim tra s tn ti
If [not] Chuil = = Chui2 : So snh 2 chui tin hnh cng vic
If [not] errorlevel # : Nu c li mc # th thc hin cng vic
+) Vi errorlevel 0 l khng c li trong qu trnh thc hin
+) Vi eorlevel 1 l c li xy ra
[not] l thnh phn ty chn gip bn ph nh iu kin ng sau n.
Tng t nh bng mt gi tr no hoc khng bng.
V d: y mnh s ly mt v d v trng hp 1 v 3, cn trng hp
bn c th xem thm ng dng di.
@echo off
echo.
FOR %%i IN (D,E,F) DO COPY vnnewbies.cmd %%i:
echo.
rem Kim fra xem c li hay khng. Nu c s a ra thng bo
IF errorlevel 1 Echo Co loi xay ra o buoc nay
echo.
echo Noi dung file vnnewbies.cmd:
echo.
rem Kim tra xem c tn ti tp tin vnnewbies.cmd trn phn vng D
khng? Neu c th thc hin chy n.
IF exist D:\vnnewbies.cmd CALL D:\vnnewbies.cmd
PAUSE
3.3. Lnh bc nhy (GoTo):
Lnh ny gip chng ta b qua mt on lnh no di chuyn ti v
ir mi. Thng thng ngi ta kt hp lnh ny vi cu trc r nhnh
cp pha trn (If) thc hin cc vic khc nhau cho cc iu kin
khc nhau.
V d:
ECHO Chon Y - Neu dong y
ECHO Chon N - Neu ko dong y
set /p chon= Lua chon cua ban la:
if %chon% == Y goto ok

if %chon% == N goto exit


goto exit
:ok
call vnnewbies.cmd
ECHO.
:exit
ECHO Cam on ban da su dung chuong trinh
Vi cu trc ny nu bn nhp vo Y th Batch File s chuyn ti on
lnh bt u bng :ok v v ngc li.
3.4. Tham s hnh thc (%0 %1 ...):
N ch c gi tr khi bn truyn gi tr cho n. Hy ly mt v d n gin
cc bn d hiu.
Vi Batch File c tn vnnewbie.bat vi ni dung nh v d phn 3.1:
FOR %%i IN (D,E,F) DO COPY %0 %%i:
Khi chng ta nhp lnh trn ca s DOS: vnnewbie vnnewbies.cmd th
Batch File trn s t ng nhn gi tr vnnewbies.cmd thay vo tham s
hnh thc ca n. Lc ny file vnnewbie.bat s chy vi ni dung:
FOR %%i IN (D,E,F) DO COPY vnnewbies.cmd %%i
y tuy chi l nhng cu trc c bn ca Batch File nhng vi n
bn c th d dng lm c rt nhiu vic phc tp mt cch n
gin hn rt nhiu.
Phn tip theo chng ta s nghin cu cht v file autoexec.bat.
Mt Batch File c bit ca h iu hnh DOS v mt s ng dng
hu ch ca n. Hy ng gp kin ca mnh bi vit thm
phong ph bn nh.

You might also like