2011-02-26 7 views
8

मैंने सोचा होगा कि यह एक बहुत ही आसान काम होगा, लेकिन मैं अब कुछ दिनों से इसके साथ संघर्ष कर रहा हूं, और थोड़ा निराश हूं! मैं विंडोज बैच स्क्रिप्ट से बहुत परिचित नहीं हूं इसलिए कृपया अगर आप उत्तर जानते हैं, तो इसे यथासंभव सरल रखें :)विंडोज बैच स्क्रिप्ट: यदि दो फाइलें समान हैं तो कमांड करें!

असल में, मेरे पास एक विंडोज शटडाउन स्क्रिप्ट (.bat फ़ाइल) है जिसमें मैं जानना चाहता हूं कि दो टेक्स्ट फाइलें समान हैं (यानी उनकी सामग्री बिल्कुल वही है), और यदि ऐसा है, तो गेटो कमांड करें (उदाहरण के लिए गोटो लाइन 10)

मैं यह नहीं समझ सकता कि यह कैसे करें! आपका सहयोग सराहनीय है!

+3

http://stackoverflow.com/questions/671642/how-can-i-compare-two-files- इन-ए-बैच-फ़ाइल – Stofke

उत्तर

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

11

गोटो के बिना:

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

ध्यान दें कि 'अगर त्रुटि 1 है' [वास्तव में इसका मतलब है कि त्रुटि स्तर 1 या अधिक है] (https://blogs.msdn.microsoft.com/oldnewthing/20080926-00/?p=20743)। यदि फाइलों में से कोई एक मौजूद नहीं है तो 'एफसी' त्रुटि गलती 2 सेट करता है। तो पहला मामला वास्तव में 'गूंज अलग है, या कम से कम एक मौजूद नहीं है'। –

+0

यह जानना उपयोगी है, धन्यवाद। – SystemParadox