Tải bản đầy đủ

khái niệm cấu trúc và ứng dụng trong thực tế của batch file

Giáo trình tin học : Batch File (.bat .cmd) - Khái niệm, cấu trúc và
các ứng dụng trong thực tế
Vào thời điểm này khi nhắc tới hệ điều hành MS DOS có lẽ không ít
người sẽ nói đó là một thứ cũ kỹ, lạc hậu và đáng nhẽ Microsoft nên
loại bỏ nó khôi các hệ điều bành tân thời hiện nay. Và mình có thể
chắc chắn rằng rất nhiều Newbie luôn cỏ ý nghĩ đó trong đầu. Bởi vì
rất nhiều bạn đã quên rằng các hệ điều hành Windows của Microsoft
hiện nay đều đưọc xây dựng trên nền tảng của DOS và có vô khối
việc nếu dùng Windows sẽ vất vả mới thực hiện được trong khi đó
chỉ với vài câu lệnh DOS đơn giản mọi chuyện sẽ hoàn toàn theo ý
bạn.
Batch File luôn được xem là một thành phần không thể thiếu của
DOS. Ở đây, với trình độ của mình tôi cũng chi cố gắng đem đến cho
các bạn một số kiến thức CO’bản về Batch File, thứ mà mọi người vẫn
thường gọi là file Bat. Hy vọng với chút kiến thức ít ỏi mà tôi cũng
cấp các bạn sẽ có những vận dụng hiệu quá vào trong quá trình học
tập và “ngâm cứu”.
Đế khai thác hết được các tính năng ưu việt của Batch File các bạn nên
tham khảo thêm cuốn Ebook “Lênh DOS trong Windows” do Trần
Quang Hái biên soạn và công cụ Dr.Batcher thay cho Notepad.
L Các kiến thức cơ bản về BATCH FELE:

1. Batch File là gì?
Với khái niệm cũ thì người ta cho rằng Batch File là một tệp xử lý lệnh
theo lô. Nghĩa là các bạn có thể đặt một chuồi lệnh mà bạn muốn thực
hiện nhiều lần vào đó và mồi lần cần bạn chi việc gọi file này ra mà
không phải đánh hàng loạt lệnh đó nữa. Đen bây giờ thì Batch File được
cho là 1 loại ngôn ngữ script.
Bạn nên biết rằng dạng file có phần mở rộng là .BAT có đôi chút khác
với dạng .CMD. Với định dạng .BAT thì nó được thực thi bởi
command.com (16 bit), nếu phần mở rộng là .CMD thì nó được thực thi
bởi cmd.exe (32bit). Chắc bạn cũng biết rằng trong Windows hiện nay tất
các dạng file này đều được thực thi bởi cmd.exe còn command.com là
thành phần của hệ điều hành DOS. Vì thế bạn nên sử dụng phần mở rộng
cho thích hçfp.
2. Các lệnh cơ bản dùng trong Batch File.


2.1. Lệnh tạm nghĩ (PAUSE):
Khi gặp lệnh này chương trình dịch sẽ tạm nghi cho tới khi bạn bấm phím
bất kỳ. Nó thường được dùng để kiểm tra tiến trình chạy của Batch File.
Ví dụ:
ECHO OFF
ECHO:
ECHO File BAtch duoc xem la thanh phan khong the thieu cua HĐH
DOS
ECHO:
Echo Hy vong bai viet se CO ich voi cac ban
ECHO:
ECHO http://vnnewbies.com
ECHO:
PAUSE

2.2. Lệnh gọi một tệp BAT (CALL):
Lệnh này giúp bạn gọi ra một File Batch khác mà không kết thúc File
Batch dang thực thi. Lưu ý: File có phần mở rộng là .BAT chỉ gọi được
file có phần mở rộng là .BAT chứ không thê gọi file có phần mở rộng là
•CMD. Và ngược lại.
Tất nhiên là file BATCH được gọi sẽ tuân theo định dạng mà file
BATCH đang thực thi đã định dạng trước đó.
Ví dụ:
ECHO OFF

ECHO:
ECHO File BAtch duoc xem la thanh phan khong the thieu cua HĐH


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. Lệnh hiển thị các lệnh (ECHO):
Với 2 chế độ ON/OFF giúp bạn điều chỉnh việc cho phép hiển thị các
dòng lệnh thực thi hoặc ẩn nó đi.
Khi gặp lệnh ECHO OFF DOS sẽ thực hiện các lệnh ở dòng tiếp theo
mà không hiển thị cả câu lệnh lên cho tới khi gặp lệnh ECHO ON.
Thông thường người ta dùng lệnh ECHO để đưa ra một thông báo nào đó
và sử dụng mẫu ECHO: để DOS cho ra một dòng trống.
Ví dụ: Tệp newbiex.cmd mà mình gọi ra ở ví dụ trên:
ECHO VnNewbies.com
ECHO:
Echo Share is Love
ECHO:
PAUSE
2.4. Ghi chú thích trong file BATCH (REM):


Để ghi chú thích trong file BATCH bạn dùng lệnh REM. Các chú thích
đặt sau lệnh này sẽ không được thực thi và hiến thị.
Lời khuyên cho Newbie trước khi đọc bài viết này vẫn là các bạn nên
tham khảo thêm cuốn Ebook “Lệnh DOS trong Windows” do Trần
Quang Hải biên soạn và sử dụng công cụ Dr.Batcher thay cho Notepad
để soạn thảo Batch File. Khi nắm vừng kiến thức về các lệnh của DOS
bạn mới có khai thác hết sức mạnh của Batch File và với Dr.Batcher, bạn
ko phải gõ từng lệnh nừa mà được hồ trợ hoàn toàn.

£lo

£dit

Ũ Ế

Scarch

u ®

ỵí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¿ {+ 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 cữxm and-echoãnợ 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
rôiũ [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

L

lo d s

Insert Comrftand (ENTER)

Turns t h ỉ com rrand-edìoỉng featu re
GO or off, or displâys a fW M O c.
U sed Vrtthout p aram eters, echo
teptays th e eurrcnt fechi setting.

1:11

Saved


>

Insert

3. Lập trình đơn giản trong Batch File:
3.1.

Lệnh điều khiển vòng lặp (For):

FOR %%Biến IN (Tập hợp) DO Lệnh cần làm
Lệnh này có nghĩa là một Biến sẽ lần lượt nhận các giá trị trong Tập_họp
để thực hiện các Lệnh_cần_làm.
Ví dụ:
FOR %%i IN (D,E,F) DO COPY vnnewbies.cmd %%i
Với lệnh này biến i sẽ lần lượt nhận các giá trị D, E , F từ dó sẽ thực hiện
lệnh copy tệp vnnewbies.cmd sang thư mục gốc của các phân vùng c,D,
F.


3.2. Phép kiểm tra điều kiện hay phép rẽ nhánh (If):
Đây là lệnh giúp bạn thực hiện từng lệnh khác nhau tùy vào từng điều
kiện khác nhau. Phép thử có 3 kiểu:
If [not] exist: Kiểm tra sự tồn tại
If [not] Chuồil = = Chuỗi2 : So sánh 2 chuỗi để tiến hành công việc
If [not] errorlevel # : Nếu có lỗi ở mức # thì thực hiện công việc
+) Với errorlevel 0 là không có lỗi trong quá trình thực hiện
+) Với eưorlevel 1 là có lỗi xảy ra
[not] là thành phần tùy chọn giúp bạn phủ định điều kiện đứng sau nó.
Tương tự như bằng một giá trị nào đó hoặc không bằng.
Ví dụ: Ở đây mình sẽ lấy một ví dụ về trường hợp 1 và 3, còn trường hợp
bạn có thể xem thêm ứng dụng ở dưới.
@echo off
echo.
FOR %%i IN (D,E,F) DO COPY vnnewbies.cmd %%i:
echo.
rem Kiểm fra xem có lồi hay không. Nếu có sẽ đưa ra thông báo
IF errorlevel 1 Echo Co loi xay ra o buoc nay
echo.
echo Noi dung file vnnewbies.cmd:
echo.
rem Kiểm tra xem có tồn tại tệp tin vnnewbies.cmd trên phân vùng D
không? Neu có thì thực hiện chạy nó.
IF exist D:\vnnewbies.cmd CALL D:\vnnewbies.cmd
PAUSE
3.3. Lệnh bước nhảy (GoTo):
Lệnh này giúp chúng ta bỏ qua một đoạn lệnh nào đó để di chuyển tới vị
irí mới. Thông thường người ta kết họp lệnh này với cấu trúc rẽ nhánh đã
đề cập phía trên (If) để thực hiện các việc khác nhau cho các điều kiện
khác 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
Với cấu trúc này nếu bạn nhập vào Y thì Batch File sẽ chuyến tới đoạn
lệnh bắt đầu bằng :ok và và ngược lại.
3.4. Tham số hình thức (%0 %1 ...):
Nó chỉ có giá trị khi bạn truyền giá trị cho nó. Hãy lấy một ví dụ đơn giản
để các bạn dễ hiểu.
Với Batch File có tên vnnewbie.bat với nội dung như ví dụ ở phần 3.1:
FOR %%i IN (D,E,F) DO COPY %0 %%i:
Khi chúng ta nhập lệnh trên cửa sổ DOS: vnnewbie vnnewbies.cmd thì
Batch File trên sẽ tự động nhận giá trị vnnewbies.cmd thay vào tham số
hình thức của nó. Lúc này file vnnewbie.bat sẽ chạy với nội dung:
FOR %%i IN (D,E,F) DO COPY vnnewbies.cmd %%i
Đây tuy chi là nhũng cấu trúc cơ bản của Batch File nhưng với nó
bạn có thể dễ dàng làm được rất nhiều việc phức tạp một cách đơn
giản hơn rất nhiều.
Phần tiếp theo chúng ta sẽ nghiên cứu ỉ chút về file autoexec.bat.
Một Batch File đặc biệt của hệ điều hành DOS và một số ứng dụng
hữu ích của nó. Hãy đóng góp ý kiến của mình để bài viết thêm
phong phú bạn nhé.



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×