आप IF
के बीच में इस तरह एक नई पंक्ति नहीं डाल सकते हैं। तो अगर आप ऐसा कर सकता है:
if %var1%=="Yes" echo Var1 set
या, यदि आप अपने बयान कई पंक्तियों में फैले आप कोष्ठक का उपयोग कर सकते चाहते हैं: जब आप कोष्ठक सावधान रहना होगा का उपयोग कर रहे
if %var1%=="Yes" (
echo Var1 set
)
हालांकि, क्योंकि चर विस्तार के रूप में विस्तार व्यवहार नहीं कर सकता है।
set myvar=orange
if 1==1 (
set myvar=apple
echo %myvar%
)
आउटपुट: उदाहरण के लिए:
orange
इसका कारण यह है कोष्ठक के बीच सब कुछ एक भी बयान के रूप में व्यवहार किया जाता है और सभी चर के बीच कोष्ठक चलाए जा रहे हैं आदेश में से किसी से पहले का विस्तार कर रहे हैं। आप इस का उपयोग कर देरी विस्तार को हल करने के कर सकते हैं:
setlocal enabledelayedexpansion
set myvar=orange
if 1==1 (
set myvar=apple
echo !myvar!
)
स्रोत
2009-12-23 09:23:01
धन्यवाद। क्या यह केवल गूंज या सभी आदेशों के लिए लागू है जो कि अगर कथन के सकारात्मक परिणाम के रूप में पालन करते हैं? – bdhar
@bdhar, यह 'if' कमांड के लिए वाक्यविन्यास है, हां, उनमें से सभी, सिर्फ गूंज नहीं। बैच फ़ाइल में थोड़ी देर के लिए – paxdiablo
+1। –