2011-02-26 27 views
8

Bunun çok basit bir görev olacağını düşünmüştüm ama birkaç gün boyunca bununla mücadele ettim ve biraz hayal kırıklığına uğradım! Windows toplu komut dosyaları ile çok aşina değilim, bu yüzden cevabı biliyorsanız, mümkün olduğunca basit tutun lütfen :)Windows toplu iş komut dosyası: İki dosya aynıysa bir komut gerçekleştirin!

Temelde, bir Windows Kapatma komut dosyası (.bat dosyası) var mı iki metin dosyası aynıdır (yani içeriği tamamen aynıdır) ve eğer öyleyse, bir goto komutu gerçekleştirin (örn. goto satır10)

Bunu nasıl yapacağımı anlayamıyorum! Yardımınız çok takdir ediliyor!

+3

http://stackoverflow.com/questions/671642/how-can-i-compare-two-files- in-a-batch-file – Stofke

cevap

8

Bu komut çalışması gerekir:

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

Çok teşekkürler! Eserleri! – Merott

11

Goto olmadan:

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

"Hata seviyesi 1" ise [aslında bu hata seviyesi 1 veya daha fazla demektir] (https://blogs.msdn.microsoft.com/oldnewthing/20080926-00/?p=20743). 'FC', dosyalardan biri mevcut değilse errorlevel 2'yi ayarlar. Yani ilk vaka gerçekten 'yankı farklı ya da en azından biri' değil. –

+0

Bilmekte fayda var, teşekkürler. – SystemParadox

İlgili konular