2012-10-24 3 views
6

저는 UNIX에서 성공적으로 수행 한 새로운 작업을 시도하고 있지만 Windows에서 수행하는 방법을 모릅니다..bat 파일을 사용하여 두 개의 텍스트 파일을 비교하여 차이를 출력합니다.

텍스트 파일을 저장합니다. test1.txt와 12 시간 후에 test2.txt (12 시간 동안 추가 된 변경 사항 인 test1.txt와 거의 같습니다. 파일의 끝 부분에 거의 있음) 있는 test1.txt 다음 세 번째 파일에 바로 텍스트 차이 출력은

1 action 
2 action 
3 action 
4 action 
5 action 

diff.txt와 test2.txt가이 같은

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

다음 세 번째 파일 diff.txt에 출력 것 같습니다하기 모양 :

6 action 
7 action 
8 action 

그냥 추가 된 텍스트, 라인 또는 비교에 관한 정보가 없으며, 차이점의 기본적인 결과 만 표시됩니다.

저는 완전히 이것에 대해 둘러 보았고 기본적으로 UNIX 스크립트처럼 작동 할 배치 파일 (.bat)을 작성할 수 있습니다.

내 기본 질문에 대해 유감이지만 질문을 봤는데 그것을 알아낼 수 없습니다.

답변

7

간단하고 빠른 방법은 여기에 새로운 파일

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


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

여기에 스크립트의 결과를 비교하고 돌아갑니다 FINDSTR 명령을 사용

/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

그것을 보려면 오른쪽에서 일치하지 않는 내용을 인쇄한다 손 사이드 파일. –

1

이 같은 뭔가를 시도 할 수 있습니다 : - 당신이 원하는 수있는 source

0

에서

@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 

이 체크 아웃 :

http://gnuwin32.sourceforge.net/packages.html

이 * nix에서 스크립트 유틸리티의 포트가 있습니다

, diff를위한 것을 포함하여 당신은 바퀴를 재발 명할 필요가 없습니다.

관련 문제