2009-10-04 15 views
25

से पर्यावरण चर में स्ट्रिंग को इनपुट करने के लिए कैसे करें, मैं उपयोगकर्ता को कुछ इनपुट विवरण के लिए संकेत देना चाहता हूं, और उसके बाद इसे कमांड लाइन तर्क के रूप में उपयोग करना चाहता हूं।उपयोगकर्ता से बैच फ़ाइल

उत्तर

40

आप /p तर्क के साथ set उपयोग कर सकते हैं:

SET /P variable=[promptString]

/पी स्विच आप उपयोगकर्ता द्वारा दर्ज इनपुट की एक लाइन के लिए एक चर के मूल्य निर्धारित करने की अनुमति देता है। इनपुट की रेखा पढ़ने से पहले निर्दिष्ट प्रॉम्प्टिंग प्रदर्शित करता है। प्रॉम्प्टस्ट्रिंग खाली हो सकती है।

myCommand %Input% 

हालांकि सावधान रहो, बस इतना ही यदि आपके इनपुट के रिक्त स्थान शामिल हो सकता है:

तो, बस बाद में आप एक आदेश के लिए तर्क के रूप में है कि चर का उपयोग कर सकते हैं की तरह

set /p Input=Enter some text: 

कुछ का उपयोग शायद एक अच्छा विचार यह उद्धृत करने के लिए:

myCommand "%Input%" 
+0

इनपुट पासवर्ड के लिए ऐसा कुछ है? – marioosh

+0

कंसोल को प्रतिबिंबित किए बिना पासवर्ड प्राप्त करने के लिए आमतौर पर वीबीस्क्रिप्ट के माध्यम से इसके कई जवाब हैं। – Joey

+0

मैंने इसे EXE को देने के लिए इनपुट फ़ाइल पथ के लिए पूछने के लिए उपयोग किया, लेकिन यदि उस पथ में एक पर्यावरण चर ("% MY_SRC_DIR% \ blabla \ file.ext") भी शामिल है, तो यह काम नहीं करता है, मुझे इसे देना है पर्यावरण चर के बिना पूर्ण या सापेक्ष फ़ाइल पथ। इसे ठीक करने का कोई उपाय? – dominicbri7

2

एक नहीं बल्कि राउंडअबाउट तरीके, केवल पूर्णता के लिए:

for /f "delims=" %i in ('type CON') do set inp=%i 
बेशक

कि^एक टर्मिनेटर के रूप में जेड की आवश्यकता है, और इसलिए जोहानिस जवाब सभी व्यावहारिक तरीकों से बेहतर है।

+1

वह एक है ... दिलचस्प। अब आपको केवल उपयोगकर्ता को शिक्षित करने की आवश्यकता है कि केवल उसकी * आखिरी * पंक्ति दर्ज की जाएगी :-) – Joey

+0

दिलचस्प! मैंने यहाँ कुछ सीखा। – anjanb

-2

जॉय का सुझाव इस समस्या को हल करने के लिए इंटरनेट पर # 1 का सबसे अच्छा जवाब था और मेरी इच्छा है कि मैं इसे तेज़ी से पा सकूं।

आप/p तर्क के साथ सेट का उपयोग कर सकते हैं:

सेट/पी इनपुट = [promptString]

जब चलाने के लिए, आप [promptString] के लिए एक मूल्य निर्धारित करने का संकेत होगा।

बाद में आप %% के चारों ओर रख कर एक कमांड को तर्क के रूप में है कि चर का उपयोग कर सकते हैं:

myCommand% इनपुट% हालांकि सावधान रहें, कि यह शायद करने के लिए एक अच्छा विचार है अगर अपने इनपुट रिक्त स्थान शामिल हो सकता है उद्धरण:

myCommand "% इनपुट%"

+0

जॉय के जवाब की प्रतिलिपि बनाने का क्या मतलब है? आपको बस इसे ऊपर उठाना चाहिए। – EFraim