Cách viết tập lệnh hàng loạt trên Windows

Bạn có biết cách sử dụng Command Prompt không? Nếu bạn làm như vậy, bạn có thể ghi một tệp hàng loạt. Ở dạng đơn giản nhất, tệp lô (hoặc tập lệnh lô) là danh sách một số lệnh được thực thi khi bạn bấm đúp vào tệp. Các tệp hàng loạt quay trở lại DOS, nhưng vẫn hoạt động trên các phiên bản Windows hiện đại.

Tập lệnh PowerShell và tập lệnh Bash có thể mạnh hơn, nhưng các tệp hàng loạt vẫn có thể hữu ích nếu bạn cần chạy các lệnh cơ bản của Windows.

Kiến thức cơ bản về tệp hàng loạt

Tệp batch chỉ đơn giản là một tệp văn bản được lưu với phần mở rộng tệp .bat. Bạn có thể viế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 hàng loạt đơn giản. Đầu tiên, mở Notepad. Nhập các dòng sau vào đó:

ECHO TẮT ECHO Hello World TẠM DỪNG

Tiếp theo, lưu tệp bằng cách nhấp vào Tệp> Lưu. Đặt cho nó bất kỳ tên nào bạn thích, nhưng thay phần mở rộng tệp .txt mặc định bằng phần mở rộng .bat.

Ví dụ: bạn có thể muốn đặt tên cho nó hello_world.bat .

Bây giờ bạn có một tệp hàng loạt với phần mở rộng tệp .bat. Bấm đúp vào nó để chạy nó. Tệp lô cụ thể này sẽ tắt ECHO (làm sạch đầu ra bằng cách ẩn các lệnh được in tại dấu nhắc, in văn bản “Hello World” ra màn hình, sau đó đợi bạn nhấn một phím trước khi nó kết thúc.

Nếu bạn không thêm TẠM NGỪNG đối với 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” ra cửa sổ và sau đó đóng ngay cửa sổ Command Prompt. Khi bạn muốn nhanh chóng chạy các lệnh mà không thấy kết quả đầ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 TẠM NGỪNG lệnh ở giữa chúng.

Viết một tệp hàng loạt phức tạp hơn

Về cơ bản, việc tạo một tệp hàng loạt rất đơn giản. Đ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 dòng riêng của nó và tệp lô sẽ chạy từng lệnh theo thứ tự.

Ví dụ: giả sử chúng tôi muốn viết một tệp hàng loạt 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 máy chủ của Google có phản hồi hay không và tracert google.com để chạy một đường theo dõi đến google.com và xem có bất kỳ sự cố nào trên đường đi không.

Ở dạng 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 lô, cái này đến 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 sẽ chỉ thấy đầu ra của từng lệnh ngay sau lệnh kia. Nhưng đây không nhất thiết phải là cách lý tưởng để ghi một tệp hàng loạt.

Ví dụ: bạn có thể muốn thêm các dòng bình luận. Bất kỳ dòng nào bắt đầu bằng :: là một 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 tệp cho bất kỳ ai mà bạn có thể cung cấp cho họ – hoặc cho chính bạn trong tương lai, những người có thể quên lý do tại sao bạn đặt một lệnh nhất định vào đó.

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 hàng loạt. Khi bạn làm điều này, bản thân các lệnh sẽ không được in ra Command Prompt, nhưng kết quả sẽ có. 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 đến việc xem các lệnh, vì vậy điều này có thể làm sạch đầu ra.

Vì vậy, đây là những gì có thể trông như thế này:

:: Tệp hàng loạt này kiểm tra các sự cố kết nối mạng. ECHO OFF :: Xem chi tiết kết nối mạng ipconfig / all :: Kiểm tra xem Google.com có ​​thể truy cập được ping google.com :: Chạy theo dõi để kiểm tra tuyến đường đến Google.com tracert google.com TẠM DỪNG

Có những hướng khác mà bạn có thể thực hiện với một tệp hàng loạt như thế này. Ví dụ: bạn có thể muốn tập lệnh lô của mình chạy các lệnh trên và sau đó kết xuất đầu ra vào tệp văn bản mà bạn có thể xem sau. Để làm như vậy, bạn sẽ sử dụng >> sau mỗi lệnh để nối đầu ra của nó vào tệp văn bản. Vì chúng tôi vẫn sẽ đọc đầu ra từ tệp văn bản, chúng tôi có thể bỏ qua TẠM NGỪNG chỉ huy.

:: Tệp hàng loạt này kiểm tra các sự cố kết nối mạng :: và lưu kết quả đầu ra vào tệp .txt. ECHO OFF :: Xem chi tiết kết nối mạng ipconfig / all >> results.txt :: Kiểm tra xem Google.com có ​​thể truy cập được ping google.com hay không >> results.txt :: Chạy theo dõi để kiểm tra đường đến Google.com tracert google. com >> results.txt

Sau khi chạy tập lệnh trên, bạn sẽ tìm thấy một tệp có tên results.txt trong cùng thư mục với tệp lô có đầu ra là các lệnh. Cửa sổ Command Prompt sẽ tự động đóng lại sau khi chạy xong tệp loạt.

Ví dụ mà chúng tôi đang sử dụng ở trên dựa vào việc thực sự in thông tin vào Command Prompt để người dùng có thể đọc thông tin đó. Tuy nhiên, nhiều tệp hàng loạt được thiết kế để chạy không tương tác. Ví dụ: bạn có thể có một tệp hàng loạt xóa nhiều tệp hoặc thư mục bất cứ khi nào bạn bấm đúp vào tệp đó. Bạn chỉ cần sử dụng 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ỉ đang sử dụng các lệnh giống như bạn sẽ chạy trong cửa sổ Command Prompt.

Về cơ bản, đó là điểm của hầu hết các tệp hàng loạt – chỉ chạy một vài lệnh lần lượt. Tuy nhiên, các tệp hàng loạt thực sự có thể phức tạp hơn thế này đáng kể. 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 thứ gì đó và sau đó bỏ qua 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 tập lệnh nhanh chóng và bẩn thỉu. Đó là một lý do tại sao các tệp .bat đôi khi được gọi là “chương trình hàng loạt”. 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 để thực hiện những việc cụ thể với lập trình hàng loạt 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 quả đơn giản vào nhau.