Tập tin Batch (.bat) là cách để thực thi các công việc trên máy tính một cách tự động. Bạn có thể tự động hóa các tác vụ hàng ngày, rút ngắn thời gian cần thiết khi làm việc nào đó, và biến một quá trình phức tạp thành điều gì đó mà bất cứ ai cũng có thể làm được. Từ khi chương trình như AutoHotkey ra đời, nhiều người đã không muốn mất thời gian để viết hay tìm hiểu về tập tin .bat, thậm chí họ không biết những gì mà nó có thể làm
Trong bài viết này sẽ hướng dẫn các bạn cách tạo một file batch đơn giản và một số điều cơ bản về nó. Đồng thời bạn sẽ được cung cấp một số nguồn tài nguyên cho việc học và viết những tập tin batch.
Giả sử bạn thường xuyên gặp các vấn đề về mạng, và luôn phải mở hộp thoại command prompt để nhập vào các lệnh như ipconfig, hay Ping tới Google hoặc trang bất kỳ để kiểm tra sự cố. Trong khi đó, chỉ cần một file BAT đơn giản sẽ giúp công việc này hiệu quả hơn, bạn còn có thể dùng file này cho tất cả các máy tính khác nếu muốn.
Bước 1: Tạo file BAT
Đầu tiên bạn tạo một text document mới trên desktop của mình (chuột phải chọn New > text document). Kích đúp chuột để mở file này, vào menu File > Save As…, tại cửa sổ Save As bạn nhập tên cho tập tin và thêm đuôi “.bat” (không có dấu nháy kép). Ví dụ đặt tên là testBAT.bat.
Tiếp theo, tại phần Save as Type chọn All Files (thay cho Text Document (*.txt)), kích Save để lưu lại.
Bước 2: Một số code cơ bản
Nếu bạn đã biết cách chạy những dòng lệnh trong command prompt, bạn sẽ có một Wiz cho việc tạo file BAT bởi chúng có cùng một thứ ngôn ngữ. Tất cả những gì bạn cần làm là “nói” cho command prompt biết rằng bạn muốn đặt các lệnh trong cùng một file, thay vì gõ chúng mỗi khi chạy command prompt. Điều này không những giúp bạn tiết kiệm thời gian và công sức mà còn cho phép đưa vào một số logic (như vòng lặp đơn giản, câu lệnh có điều kiện…) đó là những thủ tục có khả năng lập trình về mặt khái niệm.
Sau đây là 7 lệnh đơn giản mà bạn nên biết:
· TITLE: tên cửa sổ cho tập tin BAT.
· ECHO: lệnh in của file BAT. Bất cứ điều gì sau ECHO sẽ được hiển thị trong command prompt (như văn bản) trên từng dòng.
· ECHO OFF: lệnh này thường được đặt trên đầu của file BAT. Khi chạy file BAT có lệnh này, các lệnh phía dưới ECHO OFF sẽ không được hiển thị (tức là chỉ có nội dung, không cho biết lệnh nào được dùng).
· PAUSE: khi sử dụng lệnh này, một thông báo “press any key to continue…” sẽ hiển thị trên màn hình, toàn bộ lệnh trong file BAT sẽ tạm dừng cho đến khi bạn nhấn phím bất kỳ để khởi động lại. Bằng cách này bạn sẽ có cơ hội nhìn thấy những gì đang diễn ra trên màn hình.
· CLS: làm sạch màn hình cửa sổ DOS (rất hữu ích khi chúng trở nên dày đặc và lộn xộn).
· IPCONFIG: thông tin về mạng hiển thị trên DOS (rất hữu ích đối với các nhà quản trị mạng).
· PING: ping đến địa chỉ IP, cho biết bạn có thể liên hệ với máy tính đó hay không. Lệnh này cũng trả về độ trễ (ping time) và mặc định sẽ ping 3 lần.
Bước 3: Một số logic
Chúng ta cần lập kế hoạch cho chương trình của mình. Bất kỳ một nhà lập trình giỏi nào cũng suy nghĩ về khuôn khổ chung của công việc trước khi tiến hành đánh dấu gạch ngang vào những gì cần làm. Điều này giúp ngăn ngừa những sai lầm logic rất khó thực hiện lại.
Đối với chương trình trong bài viết này, chúng ta cần kiểm tra hệ thống mạng máy tính và những thiết lập internet với lệnh “ipconfig /all”, sau đó rà soát thông tin. Cuối cùng ping tới google.com để tìm hiểu xem chúng ta thực sự có quyền truy cập internet. Nếu mọi thứ đều tốt đẹp, ta sẽ cho tạm dừng chương trình.
Bước 4: Viết nội dung cho file BAT
Để chỉnh sửa nội dung cho tập tin .bat, kích chuột phải vào đó chọn “edit”. File BAT sẽ được mở bằng trình soạn thảo Notepad, ở đây bạn sẽ thấy một trang trống và sẵn sàng cho chúng ta nhập nội dung vào đó.
(Mỗi lệnh sẽ có dòng chú thích dạng CODE ::Comment, với phần in đậm là câu lệnh mà ta sử dụng).
ECHO OFF
::CMD se khong hien thi lenh nao duoc thu thi phia duoi.
ECHO QuanTriMang: Demo tao file BAT
:: In ra dong van ban
IPCONFIG /ALL
:: Hien thi thong tin ve mang tren cua so command prompt
PAUSE
:: Tam dung thuc thi cac lenh khac de nguoi dung xem cac thong tin quan trong.
PING gisgpsrs.blogspot.com
:: Ping toi trang web ban muon
ECHO Toan bo thong tin ve Gisgpsrs blog Ping duoc.
::In ra dong van ban
PAUSE
:: Cho phep nguoi dung xem ket qua. Boi vi day la dong lenh cuoi cung nen sau khi nhan phim bat ky, cua so command se duoc dong lai.
::CMD se khong hien thi lenh nao duoc thu thi phia duoi.
ECHO QuanTriMang: Demo tao file BAT
:: In ra dong van ban
IPCONFIG /ALL
:: Hien thi thong tin ve mang tren cua so command prompt
PAUSE
:: Tam dung thuc thi cac lenh khac de nguoi dung xem cac thong tin quan trong.
PING gisgpsrs.blogspot.com
:: Ping toi trang web ban muon
ECHO Toan bo thong tin ve Gisgpsrs blog Ping duoc.
::In ra dong van ban
PAUSE
:: Cho phep nguoi dung xem ket qua. Boi vi day la dong lenh cuoi cung nen sau khi nhan phim bat ky, cua so command se duoc dong lai.
Bạn có thể tải file testBAT.bat
Bước 5: Chạy file BAT vừa tạo
Sau khi chèn nội cung cho file BAT, bạn lưu lại rồi kích đúp chuột vào đó để chạy. Màn hình sẽ hiển thị kết quả như sau:
Vậy là bạn đã thành công!
Nếu bạn muốn tìm hiểu thêm về các file BAT, có thể xem các lệnh có sẵn tại đây. Sau đó bạn có thể viết các chương trình riêng cho mình hoặc tham khảo các ví dụ có sẵn tại đây.
Sử dụng các tập tin BAT là giải pháp thực sự hữu ích để chạy các chương trình (chẳng hạn như Java) chỉ với một dòng lệnh, giúp tiết kiệm thời gian thay vì phải gõ các dòng lệnh từ đầu. Sau khi nắm rõ được cách thức hoạt động và các lệnh của nó, người dùng có thể dễ dàng tạo cho mình những file phục vụ cho công việc riêng của mình một cách nhanh chóng.
An A-Z Index of the Windows CMD command line
ADDUSERS Add or list users to/from a CSV file
ARP Address Resolution Protocol
ASSOC Change file extension associations•
ASSOCIAT One step file association
ATTRIB Change file attributes
b
BCDBOOT Create or repair a system partition
BOOTCFG Edit Windows boot settings
BROWSTAT Get domain, browser and PDC info
c
CACLS Change file permissions
CALL Call one batch program from another•
CD Change Directory - move to a specific Folder•
CHANGE Change Terminal Server Session properties
CHKDSK Check Disk - check and repair disk problems
CHKNTFS Check the NTFS file system
CHOICE Accept keyboard input to a batch file
CIPHER Encrypt or Decrypt files/folders
CleanMgr Automated cleanup of Temp files, recycle bin
CLEARMEM Clear memory leaks
CLIP Copy STDIN to the Windows clipboard.
CLS Clear the screen•
CLUSTER Windows Clustering
CMD Start a new CMD shell
CMDKEY Manage stored usernames/passwords
COLOR Change colors of the CMD window•
COMP Compare the contents of two files or sets of files
COMPACT Compress files or folders on an NTFS partition
COMPRESS Compress individual files on an NTFS partition
CON2PRT Connect or disconnect a Printer
CONVERT Convert a FAT drive to NTFS.
COPY Copy one or more files to another location•
CSCcmd Client-side caching (Offline Files)
CSVDE Import or Export Active Directory data
d
DATE Display or set the date•
DEFRAG Defragment hard drive
DEL Delete one or more files•
DELPROF Delete NT user profiles
DELTREE Delete a folder and all subfolders
DevCon Device Manager Command Line Utility
DIR Display a list of files and folders•
DIRUSE Display disk usage
DISKCOMP Compare the contents of two floppy disks
DISKCOPY Copy the contents of one floppy disk to another
DISKPART Disk Administration
DNSSTAT DNS Statistics
DOSKEY Edit command line, recall commands, and create macros
DSACLs Active Directory ACLs
DSAdd Add items to active directory (user group computer)
DSGet View items in active directory (user group computer)
DSQuery Search for items in active directory (user group computer)
DSMod Modify items in active directory (user group computer)
DSMove Move an Active directory Object
DSRM Remove items from Active Directory
e
ECHO Display message on screen•
ENDLOCAL End localisation of environment changes in a batch file•
ERASE Delete one or more files•
EVENTCREATE Add a message to the Windows event log
EXIT Quit the current script/routine and set an errorlevel•
EXPAND Uncompress files
EXTRACT Uncompress CAB files
f
FC Compare two files
FIND Search for a text string in a file
FINDSTR Search for strings in files
FOR /F Loop command: against a set of files•
FOR /F Loop command: against the results of another command•
FOR Loop command: all options Files, Directory, List•
FORFILES Batch process multiple files
FORMAT Format a disk
FREEDISK Check free disk space (in bytes)
FSUTIL File and Volume utilities
FTP File Transfer Protocol
FTYPE Display or modify file types used in file extension associations•
g
GLOBAL Display membership of global groups
GOTO Direct a batch program to jump to a labelled line•
GPUPDATE Update Group Policy settings
h
HELP Online Help
i
iCACLS Change file and folder permissions
IF Conditionally perform a command•
IFMEMBER Is the current user in an NT Workgroup
IPCONFIG Configure IP
k
KILL Remove a program from memory
l
LABEL Edit a disk label
LOCAL Display membership of local groups
LOGEVENT Write text to the NT event viewer
LOGMAN Manage Performance Monitor
LOGOFF Log a user off
LOGTIME Log the date and time in a file
m
MAPISEND Send email from the command line
MBSAcli Baseline Security Analyzer.
MEM Display memory usage
MD Create new folders•
MKLINK Create a symbolic link (linkd)
MODE Configure a system device
MORE Display output, one screen at a time
MOUNTVOL Manage a volume mount point
MOVE Move files from one folder to another•
MOVEUSER Move a user from one domain to another
MSG Send a message
MSIEXEC Microsoft Windows Installer
MSINFO Windows NT diagnostics
MSTSC Terminal Server Connection (Remote Desktop Protocol)
MV Copy in-use files
n
NET Manage network resources
NETDOM Domain Manager
NETSH Configure Network Interfaces, Windows Firewall & Remote access
NETSVC Command-line Service Controller
NBTSTAT Display networking statistics (NetBIOS over TCP/IP)
NETSTAT Display networking statistics (TCP/IP)
NOW Display the current Date and Time
NSLOOKUP Name server lookup
NTBACKUP Backup folders to tape
NTRIGHTS Edit user account rights
o
OPENFILES Query or display open files
p
PATH Display or set a search path for executable files•
PATHPING Trace route plus network latency and packet loss
PAUSE Suspend processing of a batch file and display a message•
PERMS Show permissions for a user
PERFMON Performance Monitor
PING Test a network connection
POPD Restore the previous value of the current directory saved by PUSHD•
PORTQRY Display the status of ports and services
POWERCFG Configure power settings
PRINT Print a text file
PRINTBRM Print queue Backup/Recovery
PRNCNFG Display, configure or rename a printer
PRNMNGR Add, delete, list printers set the default printer
PROMPT Change the command prompt•
PsExec Execute process remotely
PsFile Show files opened remotely
PsGetSid Display the SID of a computer or a user
PsInfo List information about a system
PsKill Kill processes by name or process ID
PsList List detailed information about processes
PsLoggedOn Who's logged on (locally or via resource sharing)
PsLogList Event log records
PsPasswd Change account password
PsService View and control services
PsShutdown Shutdown or reboot a computer
PsSuspend Suspend processes
PUSHD Save and then change the current directory•
q
QGREP Search file(s) for lines that match a given pattern.
r
RASDIAL Manage RAS connections
RASPHONE Manage RAS connections
RECOVER Recover a damaged file from a defective disk.
REG Registry: Read, Set, Export, Delete keys and values
REGEDIT Import or export registry settings
REGSVR32 Register or unregister a DLL
REGINI Change Registry Permissions
REM Record comments (remarks) in a batch file•
REN Rename a file or files•
REPLACE Replace or update one file with another
RD Delete folder(s)•
RMTSHARE Share a folder or a printer
ROBOCOPY Robust File and Folder Copy
ROUTE Manipulate network routing tables
RUN Start | RUN commands
RUNAS Execute a program under a different user account
RUNDLL32 Run a DLL command (add/remove print connections)
s
SC Service Control
SCHTASKS Schedule a command to run at a specific time
SCLIST Display NT Services
SET Display, set, or remove environment variables•
SETLOCAL Control the visibility of environment variables•
SETX Set environment variables permanently
SFC System File Checker
SHARE List or edit a file share or print share
SHIFT Shift the position of replaceable parameters in a batch file•
SHORTCUT Create a windows shortcut (.LNK file)
SHOWGRPS List the NT Workgroups a user has joined
SHOWMBRS List the Users who are members of a Workgroup
SHUTDOWN Shutdown the computer
SLEEP Wait for x seconds
SLMGR Software Licensing Management (Vista/2008)
SOON Schedule a command to run in the near future
SORT Sort input
START Start a program or command in a separate window•
SU Switch User
SUBINACL Edit file and folder Permissions, Ownership and Domain
SUBST Associate a path with a drive letter
SYSTEMINFO List system configuration
t
TASKLIST List running applications and services
TASKKILL Remove a running process from memory
TIME Display or set the system time•
TIMEOUT Delay processing of a batch file
TITLE Set the window title for a CMD.EXE session•
TLIST Task list with full path
TOUCH Change file timestamps
TRACERT Trace route to a remote host
TREE Graphical display of folder structure
TSSHUTDN Remotely shut down or reboot a terminal server
TYPE Display the contents of a text file•
TypePerf Write performance data to a log file
u
USRSTAT List domain usernames and last login
v
VER Display version information•
VERIFY Verify that files have been saved•
VOL Display a disk label•
w
WHERE Locate and display files in a directory tree
WHOAMI Output the current UserName and domain
WINDIFF Compare the contents of two files or sets of files
WINMSD Windows system diagnostics
WINMSDP Windows system diagnostics II
WINRM Windows Remote Management
WINRS Windows Remote Shell
WMIC WMI Commands
WUAUCLT Windows Update
x
XCACLS Change file and folder permissions
XCOPY Copy files and folders
:: Comment / Remark•
0 comments:
Post a Comment