học về batch file cái cơ bản để hack winhọc về batch file cái cơ bản để hack winhọc về batch file cái cơ bản để hack winhọc về batch file cái cơ bản để hack winhọc về batch file cái cơ bản để hack winhọc về batch file cái cơ bản để hack winhọc về batch file cái cơ bản để hack winhọc về batch file cái cơ bản để hack winhọc về batch file cái cơ bản để hack winhọc về batch file cái cơ bản để hack winhọc về batch file cái cơ bản để hack winhọc về batch file cái cơ bản để hack win
Trang 1Giá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.
Trang 22.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:
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
Trang 3ECHO:
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 ECH O 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):
Trang 4Để 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 S carch ỵíew g a tc h l o d s t i e b
Ũ Ế u ® % ¡ ã B ' 0 0 ' , ® é ©
CC lO R
COMP
COMPACT
CONVERT
COPY
DATE
DEL
: p
D1SKC0 MP
DI5KC0 PY
OOSKEY
ENDÎ.OCAL
ERASE
EXIT
FC
FIND
FINOSTft
FOR
C /'.O M ‘.T
LInsert Comrftand (ENTER)
Turns t h ỉ com rrand-edìoỉng fea tu re
GO or off, or displâys a fW M O c
U sed Vrtthout p a ra m e te rs, echo
tep ta y s th e e u rrcn t fechi setting.
ATTRIB
rem D isp la y 's, s e t s , or rem oves tk o r e a d - o n ly A r c h iv a , sy a cem [ < Ỷ c \-r )J - ỶC S e t s th e ce< fd-only f i l e đ t t t i b u t c -r
rem ¿ { + a \-a )Ị - +a S e t s th e a r c h iv e f i l e a t t r i b u t e -a c
rem Ị ( + 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 rein í ( + h |- J ĩ ) i - +Í1 S e t s th e h id d e n r i i e a t t r i b u t e -ft C2
rexữ I (D r iv e : ĩ IP a th ỊP ile N a rr tỊ - 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 i b and any c o xtn a n d -lin e o p tio n s tc
ECHO
resn Turns th e cữxm and-echoãnợ z e a z u r e on o r o t i, o r cLisplà ccm [ { o n ị o f f H - S p e c i f i c s w h e th e r to tu r n (h e comnt-and-cch rôiũ [Btessage] - S p é c i f i e s t e x t yo u want to d i s p l a y on th e
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
F
Trang 53.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
Trang 6if %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é.