2011-09-06 24 views
46

के बाद चलना बंद कर देता है मैं दो HTML फ़ाइलों की तुलना करने के लिए टूल 'HTML मिलान' का उपयोग कर रहा हूं। चूंकि मुझे कई फाइलों की तुलना करना है, इसलिए मैं अनुवर्ती जैसे बैच फ़ाइल बना देता हूं। उदाहरण के लिए, मैं फ़ाइलों के केवल पांच सेट देता हूं।बैच फ़ाइल पहले कमांड

cd "C:\Program Files\HTML Match" 
HTMLMATCH.EXE "D:\Raj\compare1\a1.html" "D:\Raj\compare2\a1.html" "D:\Raj\compare_res\a1.html" 
HTMLMATCH.EXE "D:\Raj\compare1\a2.html" "D:\Raj\compare2\a2.html" "D:\Raj\compare_res\a2.html" 
HTMLMATCH.EXE "D:\Raj\compare1\a3.html" "D:\Raj\compare2\a3.html" "D:\Raj\compare_res\a3.html" 
HTMLMATCH.EXE "D:\Raj\compare1\a4.html" "D:\Raj\compare2\a4.html" "D:\Raj\compare_res\a4.html" 
HTMLMATCH.EXE "D:\Raj\compare1\a5.html" "D:\Raj\compare2\a5.html" "D:\Raj\compare_res\a5.html" 

जब मैं एक cmd शीघ्र, केवल पहली पंक्ति में इस बैच फ़ाइल निष्पादित, कि है, केवल 'a1.html', की तुलना में और एक परिणाम का उत्पादन किया जाता है। फिर निष्पादन बंद हो जाता है।

उत्तर

84

आपके द्वारा चलाए जा रहे आदेशों के सामने call जोड़ें।

तुम भी पाश के लिए एक करने के लिए इसे बदल सकते हैं, तो:

FOR /L %i in (1,1,5) DO CALL HTMLMATCH.EXE D:\Raj\compare%i%\a%i%.html D:\Raj\compare%i%\a%i%.html D:\Raj\compare_res\a%i%.html 
+0

यू मतलब है 'कॉल' हर पंक्ति के सामने मैं दे दिया है या सिर्फ xyz.bat कहते हैं? – rajashekar

+1

मेरा मतलब है कि आपके द्वारा लिखी गई प्रत्येक पंक्ति के सामने 'कॉल' (शायद 'सीडी' के अलावा)। – Ben

+0

फ़ाइल का नाम इस प्रारूप से किसी अन्य नाम में बदल सकता है। फ़ोल्डर पथ को निर्दिष्ट करने का कोई तरीका है यदि फ़ोल्डर पथ निर्दिष्ट किया गया था और फिर प्रत्येक फ़ाइल नाम – rajashekar

0

आप जहां के बीच किसी भी अंतरिक्ष निशान नहीं है उद्धरण चिह्नों डालने के लिए नहीं है।

कि प्रयास करें:

HTMLMATCH.EXE D:\Raj\compare1\a1.html D:\Raj\compare2\a1.html D:\Raj\compare_res\a1.html 

शायद यह आपकी समस्या का समाधान होगा।

+0

कोई काम नहीं कर रहा है – rajashekar

37

आपकी समस्या का उत्तर HTMLMATCH.EXE {और बाकी पैरामीटर} को लिखना है। बस बैच फ़ाइल में प्रत्येक निष्पादन योग्य कमांड के सामने कॉल का उपयोग करें।

+18

मैंने अपनी पहली बैच फ़ाइल आज 5 साल की तरह कुछ लिखा है, और इस समस्या में भाग गया। यदि कोई सोच रहा है, तो "कॉल" जोड़ने का कारण मदद करता है क्योंकि पहले बैच फ़ाइल को पहली बार घुमाकर दूसरी बैच फ़ाइल को दुभाषिया के अंदर पहले स्थानांतरित करने का कारण बनता है।जब दूसरी बैच फ़ाइल निकलती है, तो दुभाषिया आपके द्वारा बुलाई गई मूल बैच फ़ाइल के बारे में सब भूल गया होगा। कॉल कमांड दुभाषिया को ट्रैक रखने का कारण बनता है जहां आक्रमणकारी bbatch फ़ाइल छोड़ी गई थी, और कॉल बैच फ़ाइल बाहर निकलने पर वहां वापस आती है। –

+1

@MarkBessey: हाँ, आप पहली बार से ** दूसरी बैच फ़ाइल ** का आह्वान करते समय बिल्कुल सही हैं, लेकिन यह मामला यहां नहीं है क्योंकि चालित प्रोग्राम एक .EXE है और इसे 'कॉल' की आवश्यकता नहीं है ! – Aacini

+0

यह सच है, लेकिन मुझे लगता है कि संबंधित समस्याओं के समाधान के लिए उपयुक्त है, क्योंकि यह परिणाम अधिक आम मुद्दे के लिए यहां खोजकर आता है। मैं किसी भी अन्य तरीके से नहीं सोच सकता कि वर्णित व्यवहार होगा, इसलिए मुझे आश्चर्य है कि विवरण में कुछ विवरण गुम है या नहीं। –

0

एक साधारण अभी तक सटीक उदाहरण: 1 आदेश cmd/u

बड़ा सवाल और इसके बाद के संस्करण जवाब के लिए धन्यवाद है। हालांकि, मेरी सादगी के बावजूद, मेरे मामले में वे पर्याप्त नहीं थे (शायद मेरी गलती), इसलिए मेरी समस्या यहां है।

मेरे "डी: \ माइबैक \ वीडियो" फ़ोल्डर में मेरे पास एक "dir_date_201604.log" फ़ाइल है जो उस फ़ोल्डर की सामग्री सूचीबद्ध करती है (मैं विंडोज 7 प्रो 64 बिट चला रहा हूं)। हर बार जब मैं जोड़ने के लिए या कि में कुछ फ़ाइल (रों) बदलने के 'डी: \ MyBak \ वीडियो "फ़ोल्डर, मैं इस" dirDate_201604.BAT "फ़ाइल चलाएँ:

Call cmd /u 
dir /od /tw > dir_date_201604_2tb.log 
copy dir_date_201604_2tb.log C:\My\DL 
Call cmd /a 

एक लंबे समय के लिए इस बैट केवल था 2 मध्यम आदेश और यह ठीक काम किया। हालांकि अब मैंने 2 कमांड "कॉल cmd/u" और "कॉल cmd/a" को जोड़ा है, बीएटी फ़ाइल पहले कमांड के बाद रुक जाती है, "cmd/u पर कॉल करें"। मैंने 2 "cmd" की शुरुआत में 2 "कॉल" को हटाने या 2 "स्टार्ट" के साथ बदलने या 3 अलग-अलग बीएटी फाइलों में 4 कमांड को डिस्पोर्ट करने जैसे कई विकल्पों की कोशिश की; यह भी विफल रहता है। धन्यवाद किसी ऐसे समाधान के लिए अग्रिम में जो वास्तव में काम करता है।

वर्साय, शुक्र 27 जनवरी 2017 09:41:30 +0100, संपादित 10:05:50