दिलचस्प पोस्ट
मैं उद्देश्य-सी में वर्ग-स्तरीय गुणों को कैसे घोषित करूं? JQuery के मोबाइल स्क्रिप्ट की स्थापना मैं सिर्फ एक यूजर के कमेंट के जीआईटी लॉग को कैसे देख सकता हूं? मैं SQLPLUS का उपयोग करते हुए CSV स्वरूपित फ़ाइल को कैसे स्पूल कर सकता हूं? जब मैं एच का प्रयोग करना चाहिए: h: commandLink के बजाय outputLink? अमेज़ॅन एपीआई गेटवे से एडब्ल्यूएस लैम्ब्डा के लिए एक क्वेरी स्ट्रिंग या मार्ग पैरामीटर कैसे पास करें Cv :: warp निष्पादित सीवी :: प्वाइंट के एक सेट पर एक फर्जी डेस्किंग के लिए मैं बच्चे वर्ग के नाम को जानने के बिना किसी वस्तु के बाल वर्गों को कैसे उपयोग कर सकता हूं? ऑनक्लिक फ़ंक्शन में 'इस' संदर्भ को रखते हुए मैं एक एन्कर्र टैग से एक onclick () ईवेंट को कैसे प्रोग्राममैट कर सकता हूं? क्या आप कई फिल्टर के साथ Directory.GetFiles () को कॉल कर सकते हैं? एक PHP स्क्रिप्ट से JSON लौट रहा है MySQL प्रश्नों में, क्यों उपयोग के बजाय क्यों उपयोग करें? क्लास में मेरे पास एक गैर-अभिन्न स्थिर कॉन्स्ट सदस्य क्यों नहीं हो सकता? क्या रिक्त या रिक्त संग्रह वापस करना बेहतर है? डबल नेस्टेड ऐरे MongoDB में खोजें

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

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

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 

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

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

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

देरी चर के साथ संदर्भित कर रहे हैं !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!"