मैं Windows NT (ish) शेल स्क्रिप्टिंग भाषा का उपयोग करके एक शेल स्क्रिप्ट लिख रहा हूं। (मेरे कंप्यूटर में विंडोज़ 10. है) मैं यह जांचना चाहता हूं कि क्या दो टेक्स्ट फाइलें समान हैं। यदि फाइलें समान हैं, तो मैं चाहता हूं कि मेरी स्क्रिप्ट एक काम करे। यदि फाइलें समान नहीं हैं, तो मैं चाहता हूं कि मेरी स्क्रिप्ट कुछ और करे। अधिक डेटा की मैन्युअल प्रविष्टि के लिए पूछने के लिए स्क्रिप्ट को रोकना नहीं चाहिए।
"समान प्रश्न" सूची में Macintosh और bash शेल स्क्रिप्ट के बारे में प्रश्न हैं। इसमें रनिंग fc
या comp
कमांड लाइन से भी उत्तर है , जो एक वर्बोज़ आउटपुट प्रदान करते हैं। दुर्भाग्य से, fc
एक परिणाम के लिए वापस नहीं करता है %errorlevel%
, औरcomp
बस बाहर निकलने के बजाय मैनुअल डेटा प्रविष्टि के लिए पूछता है।
मेरे पास विंडोज हिल शेल स्क्रिप्टिंग पर टिम हिल की किताब की एक प्रति है। पृष्ठ 216 में कोड की निम्नलिखित पंक्ति है, जहां %D1%
और %D2%
निर्देशिकाएं हैं, लेकिन मुझे नहीं पता कि इसे संशोधित करने के लिए सिर्फ एक ही फाइल के एक ही हिस्से पर काम करना है:
for /f "tokens=*" %%I in ('fc /b %D1%\*.* %D2%\*.* ^| find /v "Comparing" ^| find /v "FC: no*"') do (set /a ERRORS+=1) & (echo %%I)
%D1%\*.*
और %D2%\*.*
एकल फ़ाइल नामों या एकल फ़ाइल नामों का प्रतिनिधित्व करने वाले चर के साथ क्या होता है ?
fc /b a.txt b.txt | find /v "Comparing" | find /v "FC: no*"
कमांड लाइन से चलने से कोई साधारण हां / ना उत्तर नहीं मिलता है, लेकिन यह प्रदूषण को रोक देता है।