आप विंडोज पर एकल कमांड के लिए पर्यावरण चर कैसे सेट करते हैं? [डुप्लिकेट]


22

क्या ENVVAR=abc commandयूनिक्स की तरह विंडोज पर एकल कमांड के लिए पर्यावरण चर सेट करने का एक तरीका है ?

setविंडोज पर कमांड द्वारा सेट किए गए चर निम्नलिखित कमांड के लिए बने रहते हैं, लेकिन यह वह नहीं है जो मैं चाहता हूं।


मुझे लगता है कि आपको उन्हें खुद को परेशान करना होगा।
जिना

जवाबों:


29

वहाँ एक आदेश के लिए पर्यावरण चर सेट करने के लिए एक रास्ता है?

वर्तमान cmdशेल से:

आपको चर को स्वयं साफ़ करना होगा।

set ENVVAR=abc && dir & set ENVVAR=

एक बैच फ़ाइल से:

आप उपयोग कर सकते हैं setlocalऔर endlocal

@echo off
setlocal 
  set ENVVAR=abc && dir
endlocal

एक बच्चे के cmdखोल का उपयोग करें :

आप cmd /cएक बाल खोल बनाने के लिए उपयोग कर सकते हैं ।

चर बच्चे के खोल में सेट किया गया है और मूल शैल को प्रभावित नहीं करता है (जैसा कि jpmc26 द्वारा टिप्पणी में बताया गया है )।

cmd /C "set ENVVAR=abc && dir"

आगे की पढाई

  • विंडोज सीएमडी कमांड लाइन का एक ऐज़ इंडेक्स - संबंधित सभी चीज़ों के लिए एक उत्कृष्ट संदर्भ विंडोज सीएमडी लाइन।
  • cmd - एक नया CMD शेल शुरू करें और (वैकल्पिक रूप से) एक कमांड / एक्जीक्यूटेबल प्रोग्राम चलाएं।
  • एंडलोकल - एक बैच फ़ाइल में पर्यावरण परिवर्तनों का अंत स्थानीयकरण। एक बैच फ़ाइल से दूसरे में चर पास करें।
  • पुनर्निर्देशन - पुनर्निर्देशन ऑपरेटर।
  • सेट - प्रदर्शन, सेट, या सीएमडी पर्यावरण चर को हटा दें। SET के साथ किए गए परिवर्तन केवल वर्तमान CMD सत्र की अवधि के लिए ही रहेंगे।
  • setlocal - एक बैच फ़ाइल में पर्यावरण चर की दृश्यता को नियंत्रित करने के लिए विकल्प सेट करें।

एक अन्य विकल्प एक अलग cmdप्रक्रिया शुरू करना और उन्हें वहां स्थापित करना है। जैसे cmd /C "set ENVVAR=abc && dir",। चूंकि यह मूल प्रक्रिया को प्रभावित नहीं करेगा, इसलिए इसे बाहर निकलने पर प्रभावी रूप से "साफ़" किया जाएगा।
jpmc26

@ jpmc26 अच्छा है। धन्यवाद। जवाब देने के लिए जोड़ा गया।
DavidPostill

कमांड फेल होने पर वह पहला तरीका वेरिएबल को क्लियर नहीं करेगा।
कोई भी

@AndrewMedico धन्यवाद। अच्छी बात। जवाब तय है।
DavidPostill
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.