AD DESCRIPTION
AD DESCRIPTION
Advertise Now!

Thứ Tư, 25 tháng 5, 2011

Lập trình file .bat

Lập trình file .bat thực chất là sử dụng các command của MSDOS vd: del, cd, copy ..v.v
Khi biết được các command này chúng ta có thể thoả sức sáng tạo cùng nó..
1 chương trình .bat có dạng.

Quote:

ECHO Chuong se xoa tat ca cac file trong thu muc Windows
CD %WinDir%
DEL *.*
Bắt đầu nhé:
Hầu hết các chương trình đều có dòng @echo off ..vì sao thế ?
Trong Dos @ đằng trước để giấu report (thông tin trả về từ lệnh nào đó)..
cho prompt (dấu nhắc) biến mất, và thực thi các lệnh sau đó mà không ai bít là chương trình đang làm gì .
---------------------------------------------------
Sau đây là 1 số command căn bản :
Quote:
CLS: Clear Screen ( Xóa màn hình )
Quote:
CD: Vào 1 thư mục nào đó
__ CD C:\Windows { Vào thư mục Windows}
__ CD .. {Lùi trở về 1 thư mục, vd bạn đang ở thư mục windows\system32 thì nó lùi về thư mục Windows}
__ CD \ {Lùi về thư mục gốc (root)}
Quote:
DIR: Hiển thị các tệp và thư mục con trong thư mục chính
__ DIR /A { Hiển thị tất cả files cả files ẩn và system}
Quote:
_ECHO ( Lệnh điều khiển các lệnh và viết output ra màn hình)
Cấu trúc: echo [ON|OFF|message|.] __ echo {Hiển thị trạng thái của ECHO là ON hay OFF}
__ echo ON {Khôi phục ECHO về trạng thái ban đầu}
__ echo OFF {Ẩn dấu nhắc của DOS}
__ echo Nhin gi? {Hiển thị ra màn hình chữ Nhin gi?}
__ echo %TKH% {Hiển thị ra màn hình giá trị của biến TKH(sẽ nói ở dưới)}
__ echo. {Hiện thị 1 khoảng trắng, tương tự như \n}
__ echo Y|Del *.* {Tự động trả lời YES với câu lệnh DEL *.*, tức là tự động xóa tất cả các file trong thư mục bạn đang ở}
Quote:
GOTO: Chạy các lệnh trong label (Lệnh nhảy ..?)
__ goto TKH {Chạy các lệnh trong label TKH}
Quote:
SET: Tạo, thay đổi hoặc xóa các giá trị
Cấu trúc: set [variable=[giátrị]] {variable: là 1 đoạn các ký tự, chấp nhận cả khoảng trắng.. }
__ set {hiển thị tất cả các giá trị đã được set =.=}
__ set USER=TKH {Set giá trị TKH cho USER}
__ set USER= {xóa USER}
Quote:
CALL: Gọi 1 BAT file khác
call [drive:][path]filename [batch-parameters]
Quote:
REM: Tạo ghi chú cho file bat
Quote:
EXIT: Thoát
Quote:
IF: Câu điều kiện (thực hiện lệnh nếu thỏa mãn điều kiện)
Cấu trúc: if [not] điềukiện lệnh
__ if [not] errorlevel number command { Ở đây errorlevel là giá trị trả về của 1 chương trình hay 1 lệnh(giống return ghê) chỉ có các lệnh: BACKUP, RESTORE, FORMAT, REPLACE, và XCOPY mới có errorlevel. Number là số mà ta nhập vào, nếu số lớn hơn giá trị trả về của error number thì điều kiện là true và command (lệnh) được thực hiện, nếu nhỏ hơn thì là FALSE.. không thực hiện}
__ BACKUP C:\*.* A: /s if errorlevel 3 goto END { Lệnh này thực hiện BACKUP ổ C, nếu errorlevel lớn hơn 3 thì sẽ được chuyển tới các lệnh trong label END.
Quote:
_ FOR: (Lệnh lặp.
Cấu trúc: for %%thamsố in (lệnh) do command
{ Tham số từ các ký tự từ A->Z, lệnh là các command của dos, có thể dùng lệnh CALL để gọi 1 bat file khác cho đỡ rườm ra nếu câu lệnh quá nhiều
__ for %%d in (C,D) do DIR %%d *.* { DIR (hiển thị) tất cả các files trong ổ C, D)
__ for %%f in (*.TXT *.BAT *.DOC) do TYPE %%f { TYPE ( Hiển thị nội dung files) của tất cả các files có phần mở rộng là TXT, BAT, DOC}
__ for %%P in (%PATH%) do if exist %%P\*.BAT COPY %%P\*.BAT C:\BAT { Nếu có thư mục trong biến %PATH% thì ta copy tất cả files có phần mở rộng là BAT trong thư mục đó ra C:\BAT (%PATH% đã được SET giá trị}
__ for %%f in (*.PAS) do call complie %%f { Gọi bat file Complie.bat ở cùng thư mục thực hiện các lệnh của nó với tất cả file có phần mở rộng là PAS}
Vậy là xong các Command cơ bản bây giờ thử làm 1 vài vd thôi
Ví dụ: Tạo file *.bat xóa rác
Bạn mở Notepad ra nhập đoạn code có công thức như sau:
Del "Đường dẫn\(8)" /s /q
Dịch nghĩa:
Del: là lệnh xóa file trong Cmd. Bạn có thể tham khảo các hướng dẫn bằng cách vào Run -> gõ cmd -> OK. Nhập vào dấu nhắc lệnh (Del /?), không có dấu ngoặc kép. Và nó sẽ hiện ra các lệnh tương ứng và cú pháp. Muốn hiểu sâu hơn các công thức khác thì gõ: Help. Rồi gõ tên lệnh thêm (/?) để hỏi.
"Đường dẫn: yêu cầu phải đầy đủ cú pháp, tức là phải đến từ ổ đĩa nào luôn
(8): là kiểu có thể ghi vào như:]
- *: ứng với tất cả file trong thư mục đó
- *.xls: ứng với tất cả tên file có đuôi là .xls. bạn có thể thay đổi đuôi này để cố định những dữ liệu cần xóa.
- /s: xóa tất cả dữ liệu
- /q: xóa không hỏi (y/n)
Các tính năng khác bạn từ từ khám phá đi sẽ vui lắm đó. Nhưng nhớ khi làm việc thì nhớ làm 1 vài thư mục nào đó để thử nghiệm kẻo mang họa vào thân thì không hay đâu!
Ví dụ: Xóa tập tin trong thư mục C:\WINDOWS\Temp thì gõ câu lệnh như sau:
Del "C:\WINDOWS\Temp\*" /s /q
Xóa tập tin trong C:\Documents and Settings\Administrator\Local Settings\Temp thì có hai cách gõ:
Del "C:\Documents and Settings\Administrator\Local Settings\Temp\*" /s /q
Del "%Temp%\*" /s /q
Cách thứ hai này thì bạn phải biết tên viết tắt của chúng để gọi chúng ra.
Xóa C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files thì gõ:
Del "%USERPROFILE%\Local Settings\Temporary Internet Files\*" /s /q
Với %USERPROFILE% là tên người dùng ở bất kỳ máy nào.
Mình nghĩ là bạn có thể làm được vài việc từ những kiến thức này rồi. Nhớ sau khi lưu lại thành file .txt thì bạn vào Explorer để đổi tên lại thành file có đuôi là .bat. Rồi nhấp đúp chuột lên nó thì nó sẽ chạy. Nếu muốn tự kết thúc sau khi chạy thì thêm lệnh "Exit" ở cuối tất cả dòng lệnh.
Còn đây là ebook tiếng việt về các lệnh của MSDOS
http://www.mediafire.com/?4g2fg9ce4fa7kh5
Nguồn: http://4rum.tinkhoahoc.info/showthread.php?t=3079,Cung-lap-trinh-file-bat-nao#ixzz1NMHGCd21

0 nhận xét:

Đăng nhận xét