2017-03-22 9 views
1

네트워크의 서로 다른 두 위치에 두 개의 체크섬 파일이 있으므로 서로 일치하는지 확인하고 그렇지 않은 경우 ** UNVERIFIED **을 출력해야합니다. 따라서 수행해야 할 일은 두 파일을 한 번에 하나씩 변수로 읽은 다음 확인을 위해 변수를 서로 검사해야합니다.체크섬 파일에 대한 확인 프로세스를 만들려고 시도합니다.

나는 시도하지했습니다 무엇 :

:verify_integrity 
    set "verf_integrity_src_file=\\ROCIO-148084\c$\Users\z-perkins-thomas\Documents\bin\batch\verf" 
    set "verf_integrity_dst_file=%cd%\docs\checksum.md5" 
    pushd "%verf_integrity_src_file%" 
    setlocal enabledelayedexpansion 
    set content_src= 

    for /f "delims=" %%x in (%verf_integrity_src_file%\checksum.md5) do (set content_src=!content_src! %%x) 

    endlocal 
    setlocal enabledelayedexpansion 
    set content_dst= 

    for /f "delims=" %%y in (%verf_integrity_dst_file%) do (set content_dst=!content_dst! %%y) 

    endlocal 

    @echo %content_dst%==%content_src% 

이 출력됩니다 아무것도 -> "=="

둘째 나는이의 라인을 따라 뭔가를 시도 :

:verify_integrity 
    set "verf_integrity_src_file=\\ROCIO-148084\c$\Users\z-perkins-thomas\Documents\bin\batch\verf" 
    set "verf_integrity_dst_file=%cd%\docs\checksum.md5" 
    pushd "%verf_integrity_src_file%" 
    set verf_src= 
    for /f "delims=" %%x in (%verf_integrity_src_file%\checksum.md5) do set verf_src=%verf_src% %%x 
    set verf_dst= 
    for /f "delims=" %%y in (%verf_integrity_dst_file%) do set verf_dst=%verf_dst% %%y 
    @echo %verf_src% 
    goto :verify_argv 

이 의지 체크섬 파일의 마지막 줄 출력 -> 22534f499bc7755d58412327853c8d9a *./zip-archive/utilis0.1.zip

내 질문은 이것입니다. 두 파일을 모두 메모리로 읽어 들여 서로 일치하는지 어떻게 확인할 수 있습니까?

두 파일이 동일한 경우

답변

4

그냥 확인, fc 사용 확신하는 경우

는 두 파일이 존재, 그것은뿐만 쉽게 같이

: 그렇지 않은 경우, 명시 적으로 %errorlevel%을 확인

fc "file1.ext" "file2.ext" >nul || echo ** UNVERIFIED ** 

-1 Invalid syntax (e.g. only one file passed) 
0 The files are identical. 
1 The files are different. 
2 Cannot find at least one of the files. 
+0

나는 그 사실을 알지 못했습니다. – jakehimton