दिलचस्प पोस्ट
Node_modules फ़ोल्डर के अंदर स्थित स्क्रिप्ट को कैसे शामिल करें? मैं एक सरणी में बीएमपी पिक्सेल मूल्य कैसे पढ़ सकता हूं? git – मौजूदा बनाम धक्का। ऊपर की ओर धक्का (ट्रैकिंग) va_list का उपयोग करके printf को कॉल करें क्या मैं एक्सएएमएल (पूर्व .नेट 4 फ्रेमवर्क) में एक सामान्य प्रकार निर्दिष्ट कर सकता हूं? Linux / list.h में कंटेनर_ऑफ मैक्रो के पीछे तर्क स्वचालित HTTPS कनेक्शन / नोड.जेएस / एक्सप्रेस के साथ रीडायरेक्ट क्या सी # के 'उपज' कीवर्ड के बराबर एक जावा है? setTimeout () प्रतीक्षा नहीं कर रहा है नंबरों की एक धारा से सबसे बड़ा 5000 नंबर स्टोर करें स्क्रॉल एक लंगर बिंदु तक पहुंचता है जब JQuery के साथ सीएसएस तत्व बदलें एंड्रॉइड स्टूडियो में मैं 'संपत्ति' फ़ोल्डर कहां रखता हूं? जावास्क्रिप्ट में parseInt (string) और संख्या (स्ट्रिंग) के बीच अंतर क्या है? अजगर: एक तत्व के साथ एक सूची को प्रतिच्छेदन करने के लिए सबसे शानदार तरीका तत्व का सीएसएस चयनकर्ता प्राप्त करें (जब इसमें आईडी नहीं है)

बैच में वेरिएबल जो अपेक्षित नहीं हैं

मैं इस बैच फ़ाइल पर सिंटैक्स को प्राप्त करने की कोशिश कर रहा हूं और मैं जीवन के लिए यह नहीं समझ सकता कि कुछ चीजें क्यों नहीं चल रही हैं

1) वैरिएबल 'आई' को वृद्धि नहीं हो रही है। और 2) strc पर concatenation नहीं करना चाहता है … अच्छी तरह से, concatenate।

set i=0 set "strc=concat:" for %%f in (*.mp4) do ( set /a i+=1 set "str=intermediate%i%.ts" set strc="%strc% %str%|" ffmpeg -i "%%f" -c copy -bsf:v h264_mp4toannexb -f mpegts "%str%" ) set strc="%strc:-1%" ffmpeg -i "%strc%" -c copy -bsf:a aac_adtstoasc Output.mp4 

Solutions Collecting From Web of "बैच में वेरिएबल जो अपेक्षित नहीं हैं"

आप पहले नहीं हैं, जो प्रसिद्ध "विलंबित विस्तार जाल" में गिर गया (और आप अंतिम नहीं होगा)

यदि आप एक चर का उपयोग करना चाहते हैं तो आपको विलंबित विस्तार की आवश्यकता है, जिसे आप उसी ब्लॉक में परिवर्तित कर सकते हैं (एक ब्लॉक को ब्रैकेट्स ( और ) में कमांड की एक श्रृंखला है)

देरी चर के साथ संदर्भित कर रहे हैं !var! %var% बजाय

कारण तरीका है, cmd कोड को पार्स करता है। एक पूर्ण रेखा या ब्लॉक को एक बार में पार्स किया जाता है, पार्स समय में उनके मूल्य के साथ सामान्य चर को बदलता है। विलंब चर का समय क्रम में मूल्यांकन किया जाता है

प्रदर्शित करने के लिए दो साधारण बैचों:

 setlocal enabledelayedexpansion set "var=hello" if 1==1 ( set "var=world" echo %var% !var! ) 

 for /L %%i in (1,1,5) do ( echo %random% !random! ) 

नोट: एक पंक्ति को ब्लॉक के रूप में भी माना जाता है:

 set "var=old" set "var=new" & echo %var% 

विलंबित विस्तार के साथ:

 setlocal enabledelayedexpansion set "var=old" set "var=new" & echo !var! 

कमांड प्रॉम्प्ट पर विलंबित विस्तार डिफ़ॉल्ट रूप से बंद हो गया है। अगर आपको इसकी ज़रूरत है, तो आप ऐसा कर सकते हैं:

 cmd /v:on /c "set "var=hello" & echo !var!"