2011-02-26 70 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

相关问题