Các kịch bản PowerShell và các kịch bản lệnh Bash có thể mạnh hơn, nhưng các tệp lô vẫn có thể hữu ích nếu bạn cần chạy các lệnh Windows cơ bản.
Batch File Basics
Một tập tin thực thi chỉ đơn giản là một tập tin văn bản được lưu với phần mở rộng tập tin.bat. Bạn có thể viết một bằng Notepad hoặc trình soạn thảo văn bản nâng cao hơn như Notepad ++, nhưng không sử dụng trình xử lý văn bản như Microsoft Word.
Hãy tạo một tập tin thực thi đơn giản. Đầu tiên, mở Notepad. Nhập các dòng sau vào nó:
ECHO OFF ECHO Hello World PAUSE
Ví dụ: bạn có thể muốn đặt tên cho nó
hello_world.bat
Nếu bạn không thêm
PAUSE
vào tệp, tệp lô sẽ chỉ chạy các lệnh của nó và sau đó tự động đóng. Trong trường hợp này, nó sẽ in “Hello World” vào cửa sổ và sau đó đóng cửa sổ Command Prompt ngay lập tức. Khi bạn muốn chạy nhanh các lệnh mà không thấy đầu ra, bạn có thể bỏ qua điều này. Nếu bạn đang chạy một số lệnh, bạn có thể đặt
PAUSE
lệnh ở giữa chúng.
Viết một tệp lô hàng phức tạp hơn
Về cơ bản, đơn giản là tạo tệp lô. Điều duy nhất bạn cần thay đổi là những gì bạn nhập vào Notepad. Để chạy một số lệnh, bạn nhập từng lệnh trên một dòng riêng và tệp lô sẽ chạy mỗi lệnh theo thứ tự.
Ví dụ: giả sử chúng tôi muốn viết một tệp lô chạy một số lệnh chẩn đoán mạng. Chúng tôi có thể muốn chạy
ipconfig /all
để xem thông tin mạng,
ping google.com
để xem liệu các máy chủ của Google có phản hồi hay không và
tracert google.com
để chạy một traceroute đến google.com và xem có bất kỳ vấn đề nào trên đường không.
Trong hình thức cơ bản nhất, chúng ta có thể chỉ cần đặt tất cả các lệnh đó trong một tập tin batch, một cái khác, như sau:
ipconfig /all ping google.com tracert google.com PAUSE
Khi chúng tôi chạy tệp này, chúng tôi chỉ thấy kết quả của mỗi lệnh ngay sau lệnh kia. Nhưng điều này không nhất thiết phải là cách lý tưởng để viết một tập tin thực thi.
::
là dòng nhận xét và sẽ không được thực thi. Điều đó làm cho chúng trở thành một cách hữu ích để giải thích những gì đang xảy ra trong hồ sơ cho bất kỳ ai bạn có thể trao nó cho hoặc cho bản thân tương lai của bạn, người có thể quên lý do tại sao bạn đặt một lệnh nào đó trong đó.
Bạn cũng có thể muốn thêm lệnh “ECHO OFF” vào đầu tệp. Điều này thường được thêm vào phần đầu của hầu hết các tập tin batch. Khi bạn thực hiện việc này, các lệnh sẽ không được in vào Command Prompt, nhưng kết quả sẽ là. Ví dụ: bạn sẽ thấy chi tiết kết nối mạng nhưng không thấy dòng "ipconfig / all". Hầu hết mọi người không quan tâm để xem các lệnh, vì vậy điều này có thể làm sạch đầu ra.
Đây là những gì có thể trông giống như sau:
:: This batch file checks for network connection problems. ECHO OFF:: View network connection details ipconfig /all:: Check if Google.com is reachable ping google.com:: Run a traceroute to check the route to Google.com tracert google.com PAUSE
>>
điều hành sau mỗi lệnh để nối đầu ra của nó vào tệp văn bản. Vì chúng ta sẽ đọc đầu ra từ tệp văn bản, chúng ta có thể bỏ qua
PAUSE
chỉ huy.
:: This batch file checks for network connection problems:: and saves the output to a.txt file. ECHO OFF:: View network connection details ipconfig /all >> results.txt:: Check if Google.com is reachable ping google.com >> results.txt:: Run a traceroute to check the route to Google.com tracert google.com >> results.txt
Sau khi bạn chạy tập lệnh ở trên, bạn sẽ tìm thấy tệp có tên results.txt trong cùng thư mục với tệp lô với đầu ra của các lệnh. Cửa sổ Command Prompt sẽ tự động đóng lại khi tệp batch được thực hiện đang chạy.
del
lệnh xóa tệp hoặc
deltree
lệnh xóa thư mục. Hãy nhớ rằng, bạn chỉ sử dụng các lệnh giống như bạn sẽ chạy trong cửa sổ Dấu nhắc Lệnh.
Về cơ bản, đó là điểm của hầu hết các tập tin batch - chỉ cần chạy một vài lệnh một cái khác. Tuy nhiên, các tập tin thực thi có thể phức tạp hơn nhiều so với điều này. Ví dụ, bạn có thể sử dụng câu lệnh “IF” cùng với lệnh “GOTO” để kiểm tra giá trị của một cái gì đó và sau đó chuyển sang các dòng khác nhau tùy thuộc vào kết quả. Điều này giống như viết một chương trình nhỏ thực tế hơn là một kịch bản nhanh và dơ bẩn. Đó là một lý do tại sao các tệp.bat đôi khi được gọi là "các chương trình theo lô". Nếu bạn muốn làm điều gì đó phức tạp hơn, bạn sẽ tìm thấy nhiều hướng dẫn để làm những việc cụ thể với lập trình theo lô trực tuyến. Nhưng bây giờ, bạn biết những điều cơ bản về cách ném một cái đơn giản lại với nhau.