Đăng bởi: Âu Trường Sơn | Tháng Một 28, 2011

Tạo file Autoexec.bat và Config.sys

Hai file Autoexec.bat và Config.sys được sử dụng để tạo menu khởi động máy tính.

I. TẬP LỆNH XỬ LÝ THEO LÔ

Ðể tránh việc phải gõ đi gõ lại một chuỗi lệnh mất thì giờ, MS-DOS cho phép ta đặt các chuỗi lệnh trong một tập tin, gọi là tập lệnh xử lý theo lô (Batch File) còn gọi là file BAT vì đều có phần mở rộng của file là BAT. Khi sử dụng ta chỉ cần gọi tên file BAT và nhấn Enter thì một loạt các chuỗi lệnh trong nó sẽ tuần tự thi hành. Trong file BAT, ta có thể dùng các lệnh nội trú và ngoại trú của DOS, các câu lệnh, tham số của BAT và các chương trình khác.

Ta có thể sử dụng các lệnh hoặc chương trình tạo văn bản của DOS như COPY CON, EDIT.COM, SIDEKICK, WINWORD,…  để tạo ra các file BAT.

Ví dụ:  Dùng lệnh của MS-DOS

C:\>COPY CON  NHAPDATA.BAT 

hay dùng chương trình EDIT :

C:\>EDIT NHAPDATA.BAT      

Tập tin AUTOEXEC.BAT trong đĩa hệ thống là một file BAT đặc biệt. Khi khởi động máy, tuần tự các lệnh chứa trong nó sẽ được thi hành. Tập tin AUTOEXEC.BAT thường có các lệnh báo đường dẫn, thiết lập cấu hình, tạo dấu nhắc, báo ngày giờ và một số thông báo nhắc nhở người sử dụng.

Ta có thể tạo ra một tập tin AUTOEXEC.BAT đơn giản sau:

A:\>COPY CON AUTOEXEC.BAT                                        

REM  TAP TIN KHOI DONG MAY                                          

ECHO OFF                                                                            

TIME                                                                                       

DATE                                                                                     

PATH C:\; C:\DOS; C:\NC; C:\PASCAL; C:\WINDOW;        

PROMPT $P$G                                                                     

ECHO == PHONG MAY TINH CHAO CAC BAN == 

Gõ phím chức năng  F6 (hoặc Ctrl + Z)                                

1 file(s) copied

Lập trình cho file BAT :

Ta có thể lập trình cho file BAT bằng cách sử dụng các lệnh FOR, GOTO, IF, … với các tham số hình thức %0, 1%, 2%, … (cho phép sử dụng 10 tham số hình thức từ %0 đến %9). Nếu ta dùng ký hiệu % như một thành phần trong file BAT thì phải ghi dấu % hai lần. Tham số %0 tương ứng với tên file BAT đang được thực hiện và %1, %2,… tương ứng với các tham số được đưa vào.

Ví dụ: Tạo một file BAT đơn giản như sau:

A:\>COPY CON VANBAN.BAT

ECHO %0                              

MD %1                                   

CD %1                                        

COPY C:\%2.TXT                  

DIR A:                                     

Gõ phím F6 (hoặc Ctrl + Z)    

1 file(s) copied

Khi dùng lệnh:

A:\>VANBAN  TEXT  BAOCAO         

Sau khi Enter, tên VANBAN sẽ thay vào %0, tên TEXT sẽ thay vào vị trí %1 và BAOCAO sẽ vào vị trí %2. Do vậy, máy sẽ hiểu cần thi hành tuần tự các công việc sau:

– Hiển thị câu: VANBAN

– Mở thư mục: MD TEXT

– Vào thư mục: CD TEXT

– Chép file BAOCAO.TXT từ ổ đĩa C

– Liệt kê tất cả các file trong đĩa A

Các câu lệnh chính dùng trong file BAT:

Trong file BAT cho phép sử dụng dấu @ (a sign), nếu đặt @ trước một lệnh thì lệnh đó không hiển thị ra màn hình mà chỉ thi hành lệnh.

* Echo

Cú pháp:         ECHO [on/off]<dòng thông báo>

Ghi chú:

– Lệnh Echo cho phép đưa ra (on) hay không đưa ra (off) màn hình câu lệnh.         – <dòng thông báo> xuất hiện không cần để ý trạng thái của Echo là on/off

* Call

Cú pháp:         CALL [drive:][path]<batch file>[argument]

Ghi chú:

– Lệnh Call cho phép ta gọi một file BAT khác chạy trong file BAT hiện tại.

– <batch file> là tên tập tin BAT khác mà ta muốn gọi.

– [argument] là lệnh sẽ thi hành tiếp theo sau khi file BAT được gọi.

* Pause

Cú pháp:         PAUSE [comment]

Ghi chú:

– Lệnh Pause tạm thời dừng thi hành file BAT

– [comment] dòng chú thích hiển thị ra màn hình, không dài quá 123 ký tự.

– Các lệnh sau lệnh Pause sẽ tiếp tục khi ta gõ một nút bất kỳ trên bàn phím.

* Rem

Cú pháp:         REM [comment]

Ghi chú:

– Lệnh REM(remark) ghi các nhắc nhở [comment ] dài không quá 123 ký tự.

– Các comment này sẽ xuất hiện trên màn hình nếu trước đó ta có ECHO ON và ngược lại, chúng sẽ không xuất hiện khi có ECHO OFF.

* If

Cú pháp 1:      IF [NOT] EXIST [drive:][path]<file name><Lệnh>

Ghi chú:

– Lệnh IF là lệnh điều kiện với ý nghĩa: NẾU … thì thi hành <Lệnh>

– IF [NOT] là phủ định (not tùy chọn): NẾU KHÔNG … thì thi hành <Lệnh>

Ví dụ:   Trong 1 file BAT ta có dòng:

COPY C:\DOS\*.COM  A:

IF EXIST A: EDIT.COM EXIT

DIR A:

Lệnh trên có nghĩa là copy ở C:\DOS tất cả các file .COM vào đĩa A.

Nếu đĩa A đã có file EDIT.COM thì thôi không thực hiện nữa (để khỏi mất thì giờ) và thoát ra (EXIT) thực hiện dòng tiếp là liệt kê các file ở đĩa A.

Cú pháp 2:      IF [NOT] String1 == String2 <Lệnh>

Ghi chú:  Nếu chuỗi ký tự String1 giống chuỗi ký tự String2 thì <Lệnh> được thực hiện.

Ví dụ:   IF %1 == IN ECHO MO MAY IN RA !

Nghĩa là nếu chương trình chứa tham số %1 đúng là IN thì hiển thị (ECHO) dòng chữ MO MAY IN RA !. Ngược lại, nếu tham số %1 không là IN thì không thi hành lệnh ECHO theo sau.

Cú pháp 3:      IF [NOT] ERRORLEVEL # <Lệnh>

Ghi chú:  Lệnh điều kiện này để báo mức độ lỗi. Tùy theo mức độ lỗi đã định mà thực hiện <Lệnh> tương ứng.

Ví dụ: COPY C:\PRG\*.PAS A:

IF ERRORLEVEL 1 ECHO KHONG COPY DUOC

Nghĩa là copy tất cả các file .PAS ở C:\PRG qua A. Vì một lý do nào đó ta không copy được (không có đĩa A, hay điã A bị hư hay đĩa A đã đầy …) thì chương trình sẽ báo dòng chữ KHONG COPY DUOC.

* For

Cú pháp:         FOR %%<Biến> IN (Tập hợp) DO <Lệnh> [Tham số Lệnh}

Ghi chú:

– Lệnh FOR thực hiện vòng lặp với từng file trong tập hợp file.

– Nghĩa là, <Biến> (variable) sẽ lần lượt nhận các giá trị trong <Tập hợp> (Set) để thực hiện <Lệnh> (comamnd) theo [Tham số Lệnh] (Command parameters).

Ví dụ:  FOR %%T  IN (C:\VANBAN\*.TXT)  DO  COPY %%T  A:\

Sao chép lần lượt tất cả các file .TXT trong C:\VANBAN vào A:\

* Goto

Cú pháp:       GOTO : <Nhãn>

Ghi chú:

– Lệnh GOTO là lệnh di chuyển tới dòng lệnh đứng sau <Nhãn> (Label).

– Trước <Nhãn> phải có dấu hai chấm (:), chiều dài có giá trị của <Nhãn> chỉ có 8 ký tự mặc dầu ta có thể viết dài hơn tùy ý.

– Nếu <Nhãn> không xác định được trong file BAT thì khi thi hành lệnh GOTO máy sẽ báo:

Label not found           (Nhãn không tìm thấy)

Ví dụ:               FORMAT A:/S

IF ERRORLEVEL 0 GOTO ECHO KHONG FORMAT A: DUOC

* SHIFT

Cú pháp:         SHIFT

Ghi chú:

– Lệnh SHIFT dùng để thay đổi vị trí tham số có thể thay thế được trong .BAT

– File BAT có tối đa 10 biến có thể thay thế từ %0 đến %9, khi dùng SHIFT thì sẽ có một sự thay đổi biến như sau: %0 mất đi, %1 chép đè lên %0, và %2 chép đè lến %1, và %3 chép đè lên %2, …

– Lệnh SHIFT có thể dùng quá 10 tham số.

Ví dụ:   Ta có file mang tên SAPCHU.BAT  trong ổ A với nội dung sau:

ECHO OFF

ECHO %0  %1  %2  %3

SHIFT

ECHO %0  %1  %2  %3

SHIFT

ECHO %0  %1  %2  %3

SHIFT

Khi cho chạy thử với dòng lệnh:

A:\>SAPCHU   Toi thich an kem lam 

Kết quả hiện ra màn hình là:

A:\> ECHO OFF

SAPCHU  Toi thich an

Toi thich an kem

Thich an kem lam

II. TẬP LỆNH CẤU HÌNH MÁY CONFIG.SYS

Tập tin CONFIG.SYS là file tạo cấu hình hệ thống, nó cho phép ta thay đổi các cấu hình chuẩn (default) của MS-DOS. Hầu hết các máy vi tính hiện nay đều có 2 tập tin đồng thời là AUTOEXEC.BAT và CONFIG.SYS. Hai file này chứa các thông tin liên quan đến cấu hình hệ thống và đặt tại thư mục gốc của đĩa khởi động máy.

Tập tin CONFIG.SYS có thể tạo bằng lệnh COPY CON CONFIG.SYS, hoặc các trình lập văn bản như EDIT.COM, WINWORD, …. Sau khi khởi động máy, DOS sẽ tìm CONFIG.SYS trong thư mục gốc đĩa khởi động hệ thống của nó. Nếu không tìm thấy CONFIG.SYS, DOS sẽ lập cấu hình của máy theo trị mặc nhiên.

Một số lệnh trong CONFIG.SYS

* BREAK

Cú pháp:         BREAK = ON/OFF

Ghi chú:

Lệnh BREAK dùng để định chế độ kiểm tra bàn phím, BREAK = ON cho phép ta dùng tổ hợp phím Ctrl +C (hay Ctrl+Break) để ngưng việc thi hành lệnh, muốn tắt chế độ BREAK ta sử dụng lệnh BREAK = OFF.

* BUFFERS

Cú pháp:         BUFFERS = <n>

Ghi chú:

– Lệnh BUFFERS là lệnh cấp phát bộ nhớ đệm, nghĩa là định số sectors cho vùng nhớ đệm của hệ thống. Vùng nhớ đệm dùng để lưu trữ nội dung của file mà chương trình hiện hành đang dùng.

– <n> là giá trị vùng nhớ đệm có thể có giá trị từ 2 đến 255. Khi cấu trúc thư mục trở nên phức tạp, thì nên tăng cường số buffers để tạo hiệu quả thêm cho DOS. Tuy nhiên, quá nhiều buffers thì vùng nhớ trống còn lại của chương trình và dữ liệu sẽ ít đi.

– Thông thường, giá trị vùng nhớ đệm được khai báo là buffers = 30.

* COUNTRY

Cú pháp:         COUNTRY = xxx[,[yyy],[drive:]<filename>]

Ghi chú:

– Lệnh COUNTRY chỉ định các thông tin cho MD-DOS về ngày, giờ, tiền tệ,… phù hợp với mỗi quốc gia. Lệnh này cũng chỉ ra bộ mã ký tự của nước đó.

– xxx là mã điện thoại quốc tế của một nước : 001 của Mỹ, 084 của Việt nam, …

– yyy là trang mã (code page) của một nước.

– filename là tập tin thông tin quốc gia, nếu không có DOS sẽ sử dụng COUNTRY.SYS của hệ thống.

* FilES

Cú pháp:         FILES = <x>

Ghi chú:

– Lệnh Files dùng để xác định số tập tin mà MS-DOS có thể mở ra đồng thời để xử lý. Trường hợp, số files mở ra nhiều hơn số đã định thì gặp dòng thông báo:

Too many files open                           (Mở quá nhiều tập tin)

– Số file <x> có thể từ 8 đến 255. Giá trị mặc nhiên là 8, thường thì Files = 30

* DEVICE

Cú pháp:         DEVICE = [drive:][path]<file name>[argument]

Ghi chú:

– Lệnh DEVICE dùng để cài module điều khiển các thiết bị cho MS-DOS

– <file name> là tên tập tin dùng để điều khiển thiết bị, thí dụ như:

ANSI.SYS                    DISPLAY.SYS             DRIVER.SYS

CONFIG.SYS              PRINTER.SYS                        RAMDRIVE.SYS (VDISK.SYS) …

– [argument] chỉ ra các thông tin của dòng lệnh mà chương trình điều khiển thiết bị yêu cầu.

Ví dụ: Lệnh cho phép xác định một phần bộ nhớ của máy tính như là một ổ cứng, vùng bộ nhớ này gọi là RAM disk và làm việc như một ổ đĩa aỏ (virtual disk) :

DEVICE = C:\DOS\RAMDRIVE.SYS  100/E

câu lệnh trên sẽ tạo ra một đĩa ảo có kích thước 100 KB nằm trong vùng nhớ mở rộng (/E : Expanded Memory). Tên đĩa ảo sẽ là tên alphabetic tiếp theo tên của đĩa cứng. Ví dụ đĩa cứng chia thành 2 ổ có tên là C: và D: thì đĩa ảo sẽ có tên là E:

* shell

Cú pháp:         SHELL =[drive:][path]<filename>

Ghi chú:

– Lệnh SHELL cho phép sử dụng bộ xử lý lệnh cấp cao (top-level command processor) thay thế lệnh COMMAND.COM.

– <filename> là tên của chương trình xử lý lệnh.


Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

Danh mục

%d bloggers like this: