Jump to content

Welcome to [ iT ] Forums
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. If you already have an account, login here - otherwise create an account for free today!
Hình ảnh

nhờ các bác chỉ dẫn tạo file *.bat


  • Please log in to reply
4 replies to this topic

#1
tonyhoang88

tonyhoang88

    Thành viên mới

  • Newbies
  • 2 Bài Viết:
Chào các bác!

Các bác có thể hướng dẫn e tạo 1 file BAT mà có kiểu như sau:
- Thứ nhất: Cách tạo 1 file BAT tự động ghi registry.( VD file BAT tự động ghi file vd.reg ).
- Thứ hai: Em có 3 file là A.exe; B.exeC.exe nằm trong 1 folder. Bây giờ e muốn tạo 1 file BAT sao cho khi chạy file BAT đó nó sẽ chạy file A.exeB.exe, sau khoảng 5 phút nó tự động chạy tiếp file C.exe.

Em cảm ơn các bác nhiều!
( Nếu được các bác ghi rõ lệnh giúp em nhé. Em mới tìm hiểu cái này ).

#2
Trần Quang Anh

Trần Quang Anh

    Mr.Mitnick

  • Mod Tin Học
  • PipPipPipPipPipPip
  • 2773 Bài Viết:
Vấn đề này thuộc về lập trình rồi bạn , mình move qua nhé .

#3
Minhkhue

Minhkhue

    Sư cụ giữ chùa

  • Advance Member
  • PipPipPipPipPipPip
  • 2592 Bài Viết:
File .bat là dạng file Bó thực thi tuần tự trong Dos.

Muốn tự động ghi Registry bạn phải tạo file .reg trước.
sau đó bạn file .bat để gọi file .reg chạy.
Vd:
Echo { để bật màn hình hiển thị kết quả chạy}

Echo Chay file registry
Call file.reg

Echo Lenh thu nhat thi hanh la A.EXE
@A.EXE
Echo Lenh thu hai thi hanh la B.exe
@B.COM
Echo Lenh thu ba thi hanh la C.EXE
@C.EXE
Echo Nhan phim bat ky de tiep tuc
@PAUSE>NUL
Echo Thoat khoi file BAT ve WINDOWS
@EXIT


CHO THUÊ NHÀ TRỌ


Toà nhà mới xây chuyên dành cho Sinh viên, học sinh, nhân viên văn phòng, công chức thuê. Đảm bảo môi trường sống văn minh , lịch sự, an toàn (có vệ sĩ trực 24/24), Khu an ninh, gần chợ, trường học, bệnh viện. Giao thông thuận lợi không kẹt xe. Phòng có gác lửng, vệ sinh, bếp riêng, phòng ốc biệt lập, không chung với chủ. Gía thuê từ 1,6 tr đến 2,7 tr/phòng/tháng tuỳ theo vị trí và diện tích phòng. Địa chỉ toà nhà 472/24 Lê Đức Thọ, P.17, Gò Vấp, TP.HCM (bên hông Nhà Máy thuốc lá Bến Thành). Liên hệ: 0903944927 (Gặp C. Hường).


#4
Minhkhue

Minhkhue

    Sư cụ giữ chùa

  • Advance Member
  • PipPipPipPipPipPip
  • 2592 Bài Viết:
Tham khảo thêm:

Ðể 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
  • garung phn likes this


CHO THUÊ NHÀ TRỌ


Toà nhà mới xây chuyên dành cho Sinh viên, học sinh, nhân viên văn phòng, công chức thuê. Đảm bảo môi trường sống văn minh , lịch sự, an toàn (có vệ sĩ trực 24/24), Khu an ninh, gần chợ, trường học, bệnh viện. Giao thông thuận lợi không kẹt xe. Phòng có gác lửng, vệ sinh, bếp riêng, phòng ốc biệt lập, không chung với chủ. Gía thuê từ 1,6 tr đến 2,7 tr/phòng/tháng tuỳ theo vị trí và diện tích phòng. Địa chỉ toà nhà 472/24 Lê Đức Thọ, P.17, Gò Vấp, TP.HCM (bên hông Nhà Máy thuốc lá Bến Thành). Liên hệ: 0903944927 (Gặp C. Hường).


#5
garung phn

garung phn

    Thành viên mới

  • Newbies
  • 1 Bài Viết:
pro có thể vd thực té được không? như là cách tự động tắt 1 thông báo yes no của file vbs

Tham khảo thêm:

Ðể 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








special thanks to our all time users for being with us

Calvin Music

Close [X]