2015-05-20 14 views
5

के साथ बैच फ़ाइल में उपयोगकर्ता इनपुट डिफ़ॉल्ट डेटा (यदि उपयोगकर्ता इनपुट दर्ज नहीं करता है) के साथ बैच फ़ाइल में इनपुट के लिए उपयोगकर्ता को संकेत देने का प्रयास कर रहा हूंडिफ़ॉल्ट मान

मैं नीचे दिए गए अनुसार प्रयास कर रहा हूं: डिफ़ॉल्ट मान आवश्यक: 1 से सिर।

set rev1=1 
set rev2=HEAD 
set /p rev1="start rev: default is %rev1% " 
set /p rev2="end rev: default is %rev2% " 

हालांकि शीघ्र शो start rev: default isstart rev: default is 1 के बजाय।

कृपया मदद करें।

+3

यदि पोस्ट कोड कोष्ठक ('if',' for', ...) के बीच रखा गया है तो शायद [यह उत्तर] (http://stackoverflow.com/a/30177832/2861476) मदद कर सकता है। –

+0

और पहले डबल कोट को 'rev1' और' rev2' पर छोड़ दिया गया है और बराबर चिह्न के बाद नहीं। स्टैक ओवरफ़्लो बैच फ़ाइल संबंधित विषयों में सैकड़ों बार समझाया गया यह एक आम गलती है। – Mofi

उत्तर

6

मैंने सी & को अपने कोड को बल्ले फ़ाइल में डालने की कोशिश की है और आउटपुट start rev: default is 1 है। मुझे लगता है कि आपने अपने कोड का सिर्फ एक स्निपेट पोस्ट किया है और यह भाग आईएफ या फॉर ब्लॉक के अंदर है। इस मामले में आपको अपनी स्क्रिप्ट की शुरुआत में SETLOCAL EnableDelayedExpansion जोड़ना चाहिए और !rev1! और !rev2!%rev1% और %rev2% के बजायको जोड़ना चाहिए।

+0

हां, यह एक आईएफ ब्लॉक में था, और आपका समाधान काम करता था। धन्यवाद! – Anu

संबंधित मुद्दे