2012-04-23 39 views
15

Đây là vấn đề của tôi. Tôi có một file txt với 100 tên video khác nhau (ví dụ):Đọc một dòng txt theo dòng trong tập tin thực thi

abc.mpg 
def.mpg 
ghi.mpg 
xyz.mpg 

Tôi muốn xử lý những video từng người một sử dụng một số lệnh và đưa kết quả vào một thư mục có cùng tên (không có phần mở rộng):

command1 abc.mpg 
command2 abc.mpg 
move results .\abc 

Câu hỏi của tôi là làm cách nào để thực hiện lặp lại ở trên với vòng lặp for trong một tệp lô.

Trả lời

22

Lệnh là CHO với/F tham số như thế này

FOR /F %i in (yourFile.txt) DO yourcommand %i 

này đọc một dòng cùng một lúc từ các tập tin văn bản và chèn giá trị vào% i lập luận Sau đó gọi lệnh quy định sau khi DO từ khóa (lệnh có thể là lô khác với yêu cầu sao chép hoặc di chuyển)

+9

Nếu tên tệp trong danh sách có thể chứa dấu cách, hãy thêm '" delims = "' (hoặc '" tokens = * "') ngay sau '/ F': 'FOR/F" delims = "% i IN ...'. –

+2

Lưu ý rằng nếu bạn đặt dấu ngoặc kép quanh 'yourFile.txt',' FOR' sẽ lặp lại văn bản đó thay vì đọc tệp. cmd rất khó hiểu. Các tài liệu tại [ss64 FOR /F](http://ss64.com/nt/for_f.html) đi sâu hơn vào tất cả các tài liệu. – binki

Các vấn đề liên quan