Cách viết một tập lệnh hàng loạt trên Windows
Bạn có biết làm thế nào để sử dụng Dấu nhắc lệnh? Nếu bạn làm như vậy, bạn có thể viết một tập tin bó. Ở dạng đơn giản nhất, tệp bó (hoặc tập lệnh bó) 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.
Các tập lệnh PowerShell và tập lệnh Bash có thể mạnh hơn, nhưng các tệp bó vẫn có thể hữu ích nếu bạn cần chạy các lệnh Windows cơ bản.
Thông tin cơ bản hàng loạt
Một tệp bó 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 một cái 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 bó đơn giản. Đầu tiên, mở Notepad. Nhập các dòng sau vào nó:
ECHO TẮT ECHO Xin chào thế giới
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 thế 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ó xin chào
.
Bây giờ bạn có một tệp bó với phần mở rộng tệp .bat. Bấm đúp vào nó để chạy nó. Tệp bó cụ thể này sẽ tắt ECHO (giúp dọn sạch đầu ra bằng cách ẩn các lệnh không được in tại dấu nhắc, in văn bản Gửi Hello World World lên màn hình, sau đó đợi bạn bấm phím trước khi kết thúc.
Nếu bạn không thêm TẠM NGỪNG
đối với tệp, tệp bó sẽ chỉ chạy các lệnh của nó và sau đó tự động đóng lại. Trong trường hợp này, nó sẽ in ra Hello Hello World vào cửa sổ và sau đó đóng ngay cửa sổ Dấu nhắc lệnh. 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 phần 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 là đơn giản để tạo một tệp bó. Đ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 bó 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 bó 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 các máy chủ của Google có phản hồi không và tracert google.com
để chạy một traceroute đến google.com và xem nếu có bất kỳ vấn đề nào trên đườ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 bó, lần lượt từng lệnh, như sau:
ipconfig / tất cả 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 mỗi lệnh ngay sau lệnh kia. Nhưng đây không hẳn là cách lý tưởng để viết một tệp bó.
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 một ::
là một dòng bình luận 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ể đưa 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 nhất định vào đó.
Bạn cũng có thể muốn thêm lệnh ECHO OFF vào đầu tập tin. Điều này thường được thêm vào đầu của hầu hết các tệp bó. Khi bạn thực hiện việc này, các lệnh sẽ không được in ra Dấu nhắc lệnh, nhưng kết quả sẽ có. Ví dụ: bạn sẽ thấy các chi tiết kết nối mạng nhưng không phải là 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.
Vì vậy, đây là những gì có thể trông giống như:
:: Tập tin bó này kiểm tra các vấn đề 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 ping google.com :: Chạy một traceroute để kiểm tra tuyến đến Google.com tracert google.com PAUSE
Có những hướng khác bạn có thể đi với một tệp bó như thế này. Ví dụ, bạn có thể muốn tập lệnh bó của mình chạy các lệnh trên và sau đó chuyển đầu ra sang tệp văn bản mà bạn có thể xem sau. Để làm như vậy, bạn sẽ sử dụng >>
toán tử sau mỗi lệnh để nối đầu ra của nó vào tệp văn bản. Vì dù sao chúng ta cũng sẽ đọc đầu ra từ tệp văn bản, chúng ta có thể bỏ qua TẠM NGỪNG
chỉ huy.
:: Tệp bó 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 ping google.com >> results.txt :: Chạy một traceroute để kiểm tra tuyến đến 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 một tệp có tên results.txt trong cùng thư mục với tệp bó với đầu ra của các lệnh. Cửa sổ Dấu nhắc Lệnh sẽ tự động đóng khi tệp bó được chạy.
Ví dụ chúng tôi đang sử dụng ở trên phụ thuộc vào việc in thông tin thực sự vào Dấu nhắc lệnh để người dùng có thể đọc nó. Tuy nhiên, nhiều tệp bó được thiết kế để chạy không tương tác. Ví dụ: bạn có thể có một tệp bó xóa nhiều tệp hoặc thư mục bất cứ khi nào bạn nhấp đúp vào tệp đó. Bạn chỉ cần sử dụng del
lệnh xóa tập tin hoặc đồng bằng
lệnh xóa thư mục. Hãy nhớ rằng, bạn chỉ đang sử dụng các lệnh tương tự mà bạn 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 bó - chỉ chạy một vài lệnh lần lượt. Tuy nhiên, các tệp bó thực sự có thể phức tạp hơn đáng kể so với điều này. Ví dụ: bạn có thể sử dụng các câu lệnh IF IF cùng với lệnh GOTO 'để kiểm tra giá trị của một cái 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 kịch bản nhanh và bẩn. Đó là một lý do tại sao các tập tin .bat đôi khi được gọi là các chương trình hàng loạt. 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.