Tôi có 50 tệp văn bản trong một thư mục.
Có phương pháp dòng lệnh Windows nào để ghép các tệp đó thành một tệp không?
Tôi đang sử dụng Windows Vista .
Tôi không muốn nhập tên của tất cả các tệp.
Tôi có 50 tệp văn bản trong một thư mục.
Có phương pháp dòng lệnh Windows nào để ghép các tệp đó thành một tệp không?
Tôi đang sử dụng Windows Vista .
Tôi không muốn nhập tên của tất cả các tệp.
Câu trả lời:
Tôi không muốn nhập tên của tất cả các tệp.
Điều đó dễ tránh. Mở một dấu nhắc lệnh trong thư mục này và gõ lệnh sau:
copy /b *.txt newfile.txt
Nhấn Enter.
Bây giờ bạn sẽ có tất cả các tệp văn bản trong thư mục này được sắp xếp theo ngày tăng dần được hợp nhất thành một tệp có tên newfile.txt.
Mục đích cuối cùng của tôi là lưu trữ nội dung của từng tệp văn bản trong một cột riêng biệt của một bảng Excel.
Đây là một hướng dẫn có thể giúp bạn đạt được "mục đích cuối cùng" của mình:
Hợp nhất tất cả các tệp CSV hoặc TXT trong một thư mục trong một bảng tính
Để thêm newLine vào cuối mỗi tệp được nối, hãy sử dụng type
thay vì copy
, như sau:
type *.txt > newfile.txt
.txt
từ newfile
và bam! Có bạn có nó.
type x.log.* > merged.log
mà không cần một tập tin bó. Các dòng mới là khá dễ dàng để đối phó.
type
đã đi một chặng đường dài kể từ DOS 3.3. Tôi không biết bạn có thể sử dụng mặt nạ tập tin. Điều đó xảy ra khi nào?
Giả sử bạn đang nói về việc nối các tệp văn bản, copy
lệnh có thể được sử dụng để nối chúng lại với nhau:
copy file1+file2+file3 targetfile
Nếu bạn có nhiều tệp, bạn có thể lặp bằng cách nối thêm một tệp cùng một lúc.
Đối với tệp nhị phân, thêm /b
tùy chọn '':
copy /b file1+file2+file3 targetfile
Điều này giả định rằng bạn biết các tệp nhị phân mà bạn đang làm việc có thể được nối lại; nếu không, bạn sẽ nhận được một khối dữ liệu vô dụng.
copy
docs.microsoft.com/en-us/windows-server/ad dùng /
Chạy lệnh sau trong dấu nhắc lệnh:
for %f in (*.txt) do type "%f" >> output.txt
output.txt
Tệp .bat sau đây sẽ nối thêm tất cả các tệp * .for, ngoại trừ tệp có tên XIT.for, vào tệp trống có tên MASTER.for
type NUL > MASTER.for
FOR %%G IN (*.for) DO IF NOT "%%G" == "XIT.for" copy /A MASTER.for+"%%G" && echo. >> MASTER.for
:)
for %f in (*.txt) do ((echo. & echo == %f == & echo. & type %f ) >> *.txt.dat )