@ECHO OFF REM This file demonstrates the use of a few command-line statements ECHO Hello. This is my Fun.bat file.

DIR %1

Lệnh cuối cùng trong tệp là lệnh DIR. Nó tạo ra một danh sách thư mục của thư mục được chỉ định làm tham số đầu tiên được chuyển đến tệp loạt. Nếu bạn không muốn danh sách hiển thị trên màn hình, bạn có thể sử dụng ký tự “>” để chuyển đầu ra thành một tệp. Vì vậy, hãy sửa đổi Fun.bat để chấp nhận hai tham số. Đầu tiên sẽ là thư mục có danh sách thư mục bạn muốn lấy và thứ hai sẽ là tệp mà bạn muốn kết xuất này đi đến. Tập tin hàng loạt của bạn sẽ giống như sau:

@ECHO OFF REM This file demonstrates the use of a few command-line statements ECHO Hello. This is my Fun.bat file.

DIR %1 > %2

Bạn gọi như trước ngoại trừ bây giờ bạn chỉ định tham số thứ hai trên dòng lệnh:

C:\Bat> Fun.bat C:\Temp C:\Temp\Dirlist.txt

Thực thi tệp hàng loạt và bạn sẽ có một tệp có tên C: \ Temp \ Dirlist.txt chứa danh sách thư mục của tất cả các tệp trong thư mục C: \ Temp.

Giả sử rằng bạn có hàng nghìn tệp trong thư mục C: \ Temp. Thay vì xem qua danh sách dài, bạn có thể chỉ muốn biết liệu một tệp cụ thể có trong đó không và nó lớn như thế nào. Bạn có thể làm điều này bằng cách “chuyển” đầu ra của lệnh DIR sang một lệnh mới, FIND.

Nói chung, hầu hết các lệnh tạo ra dữ liệu đầu ra (chẳng hạn như những gì được tạo ra bởi DIR) có thể được sử dụng làm đầu vào cho một lệnh khác — tất cả đều trên cùng một dòng. Đây được gọi là “đường ống” và ký tự được sử dụng cho thao tác này là thanh dọc (“|”). Lệnh mong đợi đầu vào, FIND trong trường hợp của chúng tôi, xuất hiện ở bên phải của ký tự “pipe” (thanh dọc). Vì vậy, hãy thay thế lệnh DIR trước đó của chúng ta bằng một lệnh dẫn đầu ra của nó để TÌM:

@ECHO OFF REM This file demonstrates the use of a few command-line statements ECHO Hello. This is my Fun.bat file.

DIR %1 | FIND "Dirlist"

Tác dụng của thay đổi này là thực hiện lệnh DIR trên thư mục được chỉ định, nhưng gửi đầu ra của nó tới lệnh FIND, lệnh này sẽ tìm kiếm kết quả đầu ra cho chuỗi “Dirlist” và xuất ra màn hình kết quả. Lưu ý rằng chúng tôi sẽ chỉ chuyển một tham số — tên thư mục để thực hiện DIR. Nếu bạn quên và tình cờ chỉ định tham số thứ hai, không có vấn đề gì. Vì không có “% 2” trong tệp lô nên bất kỳ tham số bổ sung nào sẽ bị bỏ qua.

Những điều cuối cùng cần đề cập trong mẹo này liên quan đến thời gian. Có một lệnh gọi là “TIME / T” hiển thị thời gian hiện tại. Ngoài ra còn có một lệnh được gọi là TIMEOUT khiến công việc hàng loạt tạm dừng trong một số giây nhất định. Cuối cùng, có một ký tự đặc biệt khác mà bạn có thể sử dụng trong tệp loạt, viz., Dấu và (“&”). Nó nối hai (hoặc nhiều) lệnh xuất hiện trên cùng một dòng. Hãy sử dụng các lệnh này để hiển thị thời gian hiện tại, đợi năm giây và ghi thời gian mới lên màn hình. Tệp lô sẽ giống như sau:

@ECHO OFF REM This file demonstrates the use of a few command-line statements ECHO Hello. This is my Fun.bat file.

DIR %1 | FIND "Dirlist"

ECHO The current time is & TIME /T TIMEOUT 5 ECHO The new current time is & TIME /T

Đó là một chút về các tệp hàng loạt. Còn rất nhiều điều họ có thể làm, nhưng tôi muốn đánh giá mức độ quan tâm của họ trước khi viết thêm về họ. Nếu bạn có khuynh hướng như vậy, vui lòng cho biết trong phần nhận xét bên dưới, liệu bạn có muốn tiếp tục tìm hiểu thêm về các tệp hàng loạt hay không.

Mẹo này (13103) áp dụng cho Windows 7, 8 và 10.