2012-10-24 28 views
6

Tôi đang thử một cái gì đó mới mà tôi đã làm trên UNIX thành công nhưng không có ý tưởng làm thế nào để làm trên cửa sổ..bat tập tin để so sánh hai tập tin văn bản và đầu ra sự khác biệt

Vì vậy, tôi lưu tệp văn bản, giả sử test1.txt và 12 giờ sau so sánh test2.txt (đó là test1.txt với các thay đổi được thêm trong 12 giờ, gần như được bảo đảm ở cuối tệp) test1.txt tới và sau đó đầu ra chỉ là khác biệt văn bản vào một tập tin thứ ba, diff.txt

1 action 
2 action 
3 action 
4 action 
5 action 

và test2.txt trông giống như

1 action 
2 action 
3 action 
4 action 
5 action 
6 action 
7 action 
8 action 

sau đó đầu ra đến tập tin diff.txt thứ ba sẽ trông giống như:

6 action 
7 action 
8 action 

chỉ với văn bản đã được thêm vào, không có thông tin liên quan đến dòng hoặc so sánh, chỉ là kết quả cơ bản của sự khác biệt.

Tôi hoàn toàn mới với điều này, đã xem xét xung quanh và có vẻ như tôi có thể viết một tập tin thực thi (.bat) mà về cơ bản sẽ hoạt động như một kịch bản UNIX sẽ.

Xin lỗi cho câu hỏi cơ bản của tôi nhưng tôi đã googled câu hỏi và dường như không thể tìm ra.

Trả lời

7

Các đơn giản nhất và phương pháp nhanh nhất là sử dụng lệnh findstr nó sẽ so sánh và trả lại kết quả cho tập tin mới đây kịch bản

findstr /vixg:Z:\misc\test1.txt Z:\misc\misc\test2.txt > Z:\misc\misc\test3.txt 


findstr /vixg:<source file> <target file> > outputfile 

đây

/v : Prints only lines that do not contain a match. 
/i : Specifies that the search is not to be case-sensitive. 
/x : Prints lines that match exactly. 
/g: file : Gets search strings from the specified file. 
+0

nó được in nội dung mà không được phù hợp với từ rignt tập tin bên tay. –

1

Bạn có thể thử một cái gì đó như thế này: -

@echo off 
    :main 
    fc c:\filename r:\filemame > nul 
    if errorlevel 1 goto error 

    :next 
    echo insert next CD 
    pause 
    goto main 

    :error 
    echo failed check 

Từ source

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