2011-02-26 210 views
8

我原以爲這會是一個非常簡單的任務,但我現在一直在掙扎幾天,而且有點沮喪!我不是很熟悉Windows批處理腳本,所以請如果你知道答案,儘可能簡單:)Windows批處理腳本:如果兩個文件相同,請執行命令!

基本上,我有一個Windows關機腳本(.bat文件),我想知道如果兩個文本文件是相同的(即他們的內容是完全一樣的),如果是的話,執行一個goto命令(例如goto line10)

我無法弄清楚如何做到這一點!非常感謝您的幫助!

+3

http://stackoverflow.com/questions/671642/how-can-i-compare-two-files- in-a-batch-file – Stofke 2011-02-26 00:46:01

回答

8

這個腳本應該工作:

fc /b file1 file2 > nul 
if errorlevel 1 goto files_differ 
[files are the same, do something here] 

:files_differ 
[files are not the same, do something here] 
+0

非常感謝!作品! – Merott 2011-02-26 01:26:28

11

沒有轉到:

fc /b file1 file2 > nul 
if errorlevel 1 (
    echo different 
) else (
    echo same 
) 
+0

請注意,如果errorlevel 1 [[其實意味着errorlevel爲1或更多](https://blogs.msdn.microsoft.com/oldnewthing/20080926-00/?p=20743)。如果其中一個文件不存在,FC'將設置錯誤級別2。所以第一種情況確實是'echo不同,或者至少有一個不存在'。 – 2017-05-18 21:31:21

+0

知道這很有用,謝謝。 – SystemParadox 2017-05-19 20:44:15

相關問題