विंडोज में पैठ पर्यावरण चर के लिए निर्देशिका जोड़ना


523

मैं विंडोज में C:\xampp\phpअपने सिस्टम PATHपर्यावरण चर में जोड़ने की कोशिश कर रहा हूं ।

मैंने पहले ही इसे पर्यावरण चर डायलॉग बॉक्स का उपयोग करके जोड़ दिया है।

लेकिन जब मैं अपने कंसोल में टाइप करता हूं:

C:\>path

यह नई C:\xampp\phpनिर्देशिका नहीं दिखाता है :

PATH=D:\Program Files\Autodesk\Maya2008\bin;C:\Ruby192\bin;C:\WINDOWS\system32;C:\WINDOWS;
C:\WINDOWS\System32\Wbem;C:\PROGRA~1\DISKEE~2\DISKEE~1\;c:\Program Files\Microsoft SQL
Server\90\Tools\binn\;C:\Program Files\QuickTime\QTSystem\;D:\Program Files\TortoiseSVN\bin
;D:\Program Files\Bazaar;C:\Program Files\Android\android-sdk\tools;D:\Program Files\
Microsoft Visual Studio\Common\Tools\WinNT;D:\Program Files\Microsoft Visual Studio\Common
\MSDev98\Bin;D:\Program Files\Microsoft Visual Studio\Common\Tools;D:\Program Files\
Microsoft Visual Studio\VC98\bin

मेरे दो सवाल हैं:

  1. ऐसा क्यों हुआ? क्या मैंने कुछ गलत किया है?
  2. इसके अलावा, मैं PATHकंसोल (और प्रोग्रामेटिक रूप से, बैच फ़ाइल के साथ) का उपयोग करके अपने चर में निर्देशिकाओं को कैसे जोड़ूं ?

43
यह विषय पर है क्योंकि यह 'उपकरण प्रोग्रामर आमतौर पर उपयोग करने' के बारे में एक प्रश्न है। यदि आप Windows पर विकसित होते हैं और आपको PATH को संशोधित करने की आवश्यकता नहीं है, तो मुझे आश्चर्य है। प्रोग्रामिंग से संबंधित होने की इच्छा को पूरा करने के लिए, मैंने इस बात पर प्रकाश डाला है कि उच्चतम मतदान का उत्तर क्या है: आप इस प्रोग्राम को कंसोल के माध्यम से (या बैच फ़ाइल के माध्यम से) कर सकते हैं।
जॉर्ज स्टॉकर

1
@GeorgeStocker की समीक्षा के लिए धन्यवाद, हाँ, मैंने इसे प्रोग्रामेटिक रूप से किया था, लेकिन मुझे अभी यह अंदाजा नहीं था कि कंसोल सेशन में बदलाव करने के बाद मुझे फिर से आवेदन करने की आवश्यकता है। (और मुझे लगता है कि यह केवल मेरे मामले में है) लेकिन सबसे अधिक मतदान वाला जवाब आम तौर पर इस सवाल का जवाब देता है
नेटोरिका

1
@ जॉर्ज - सहमत थे, लेकिन जैसा कि यह खड़ा है, यह सवाल सुपर यूजर के लिए लिखा गया है, और स्टैक ओवरफ्लो नहीं। सुपर उपयोगकर्ता व्यक्तिगत उपयोग के लिए वेब सर्वर कॉन्फ़िगरेशन के साथ मदद प्रदान करेगा। स्टैक ओवरफ्लो प्रोग्रामिंग सवालों के लिए है।
jww

1
बाहर निकलें और एक नया कंसोल खोलें ... यदि आप बैश का उपयोग कर रहे हैं, तो परिवर्तनों को जारी रखने से पहले सिस्टम रिबूट की आवश्यकता हो सकती है, यह इस बात पर निर्भर करता है कि आप कैसे / क्या उपयोग कर रहे हैं।
ट्रैकर 1

जवाबों:


148

यह केवल रजिस्ट्री को संशोधित करता है। एक मौजूदा प्रक्रिया इन मूल्यों का उपयोग नहीं करेगी। एक नई प्रक्रिया ऐसा करेगी यदि इसे इस परिवर्तन के बाद शुरू किया गया है और अपने माता-पिता से पुराने वातावरण को विरासत में नहीं मिला है।

आपने निर्दिष्ट नहीं किया कि आपने कंसोल सत्र कैसे शुरू किया है। यह सुनिश्चित करने का सबसे अच्छा तरीका है कि कमांड शेल से बाहर निकलें और इसे फिर से चलाएं। इसके बाद अपडेटेड पैथ को इनहेरिट करना चाहिए।


9
हम्म, नहीं, यह वास्तव में केवल रजिस्ट्री को संशोधित करता है। PATH कमांड के साथ कमांड प्रॉम्प्ट के बजाय, कंट्रोल पैनल डायलॉग में ऐसा करने से थोड़ा स्पष्ट होना चाहिए। आप देख सकते हैं कि यह SysInternals 'प्रक्रिया मॉनिटर के साथ आसानी से क्या करता है, आपको ध्यान रखना चाहिए। PATH का उपयोग करना समान नहीं है, कंसोल बंद होने पर आपके द्वारा किए गए किसी भी परिवर्तन को खो दिया जाएगा। SETX संवाद की तरह लगातार परिवर्तन करने का एक तरीका है।
हंस पासेंट

3
यह सही है। नए वातावरण चर चुनने से पहले आपको हमेशा अपना कंसोल सत्र पुनः आरंभ करना होगा।
ब्रेनस्ल्गस83

1
यदि WM_SETTINGCHANGEसांकेतिक शब्दों को किसी एप्लाइसेशन से भेजा गया था, तो क्या कंसोल सत्र अपडेट होगा ? stackoverflow.com/a/8358361
जॉन_वेस्ट

यह सैद्धांतिक रूप से संभव है, कोई व्यावहारिक सीआरटी कार्यान्वयन नहीं जो मुझे पता है कि वास्तव में ऐसा होता है। एक्सप्लोरर करता है।
हंस पसंत

1
पृष्ठभूमि की जानकारी इसको
Euro Micelli

958

विकल्प 1

PATHGUI के साथ बदलने के बाद , कंसोल विंडो को बंद करें और फिर से खोलें।

यह काम करता है क्योंकि परिवर्तन के बाद शुरू किए गए केवल प्रोग्राम नए को देखेंगे PATH

विकल्प 2

आपके द्वारा खोली गई कमांड विंडो में इस कमांड को निष्पादित करें:

set PATH=%PATH%;C:\your\path\here\

यह आदेश C:\your\path\here\वर्तमान को जोड़ता है PATH

इसे तोड़कर:

  • set- एक कमांड जो cmd के पर्यावरण चर को केवल मौजूदा cmd सत्र के लिए बदलता है ; अन्य कार्यक्रम और सिस्टम अप्रभावित हैं।
  • PATH=- यह दर्शाता है कि PATHअस्थायी रूप से परिवर्तित किया जाने वाला पर्यावरण चर है।
  • %PATH%;C:\your\path\here\- यह %PATH%हिस्सा वर्तमान मूल्य तक फैलता है PATH, और ;C:\your\path\here\फिर इसे इसका संक्षिप्त नाम दिया जाता है। यह नया बन जाता है PATH

16
@ इलिया: मेरा मतलब था कि आप MyComputer-> Properties-> Advanced-> Env Variables-> Path में पथ बदलने के बाद कंसोल विंडो खोलें। कुछ विंडोज़ ऐप शुरू होने के बाद पर्यावरण परिवर्तन का प्रचार करेंगे और कुछ नहीं करेंगे। WinXP cmd.exe नहीं करता है।
जिमर

7
अगर मैं कंसोल से बाहर निकलता हूं और मुझे फिर से दौड़ना पड़ता है तो मुझे रास्ता रीसेट करना होगा। किसी भी विचार कैसे इस परिवर्तन को स्थायी बनाने के लिए?
डेविड David वोंग

2
@ डेविड If वोंग यदि आप "मेरा कंप्यूटर"> "गुण"> "उन्नत"> "पर्यावरण चर"> "पथ" का पालन करते हैं। और निर्देशिका को उस स्ट्रिंग के अंत में जोड़ दें, वह रहेगी। बस बदलाव करने के बाद कंसोल को खोलना सुनिश्चित करें।
theB3RV

हाँ @ theB3RV, यह कुछ आसान करने के लिए सिर्फ एक लंबा रास्ता है। यह अजीब है कि कंसोल में टाइप किया जा सकने वाला कोई स्थायी आदेश नहीं है
डेविड Feb वोंग

12
@ दाविद Just वोंग बस ने पाया "SETX संवाद की तरह लगातार परिवर्तन करने का एक तरीका है।" इसलिए SETX कमांड को यह करना चाहिए
TheB3RV

202

चेतावनी: यह समाधान विनाशकारी हो सकता है आपके पेट, और आपके सिस्टम की स्थिरता के लिए है। एक साइड इफेक्ट के रूप में, यह आपके उपयोगकर्ता और सिस्टम PATH, और PATH को 1024 वर्णों में मिला देगा। इस आदेश का प्रभाव अपरिवर्तनीय है। पहले PATH का बैकअप बना लें। अधिक जानकारी के लिए टिप्पणियाँ देखें।

इसे आँख बंद करके कॉपी-पेस्ट न करें। सावधानी से प्रयोग करें।

आप स्थायी रूपPATH से setxकमांड के साथ एक पथ जोड़ सकते हैं :

setx /M path "%path%;C:\your\path\here\"

/Mयदि आप PATHसिस्टम के बजाय उपयोगकर्ता को सेट करना चाहते हैं तो ध्वज को हटा देंPATH

टिप्पणियाँ:

  • setxआदेश विंडोज 7 और बाद में ही उपलब्ध है।
  • आपको इस कमांड को एक उन्नत कमांड प्रॉम्प्ट से चलाना चाहिए।

  • यदि आप केवल वर्तमान सत्र के लिए इसे बदलना चाहते हैं, तो सेट का उपयोग करें ।


7
SETX /M path "%path%;C:\Program Files (x86)\Git\bin\"मशीन स्तर पर पाथ मान सेट करने के लिए
Lu55

7
यह स्वीकार किए गए उत्तर क्यों नहीं है? मुझे लगता है कि ज्यादातर लोग स्थायी रूप से अपना रास्ता तय करना चाहेंगे ...
पीटर गॉर्डन


9
चेतावनी : %PATH%चर के उपयोग के कारण , यह कमांड उपयोगकर्ताओं के साथ वैश्विक env चर का विलय करता है। क्या यह नहीं है? यह अवांछित दुष्प्रभाव पैदा कर सकता है, विशेष रूप से / एम स्विच के साथ
एफएफ_डेव

4
चेतावनी 2:%PATH% चर के रूप में यह आदेश के शुभारंभ प्रॉम्प्ट पर लोड किया जाता है और कभी नहीं बाद में पुनः लोड वातावरण चर के साथ सिंक में नहीं हो सकता है (यहां तक कि जब setx कमांड को क्रियान्वित)। इसके अलावा यह पहले से निष्पादित स्क्रिप्ट द्वारा स्थानीय रूप से बदला जा सकता था।
एफएफ_डेव

66

आपको किसी भी setया setxकमांड की आवश्यकता नहीं है , बस टर्मिनल खोलें और टाइप करें:

PATH

यह PATH चर के वर्तमान मूल्य को दर्शाता है। अब आप इसमें डायरेक्टरी जोड़ना चाहते हैं? बस टाइप करें:

PATH %PATH%;C:\xampp\php

यदि किसी भी कारण से आप PATH वैरिएबल को साफ़ करना चाहते हैं (इसमें कोई पथ नहीं है या इसमें सभी पथ हटा दें), तो टाइप करें:

PATH ;

अपडेट करें

जैसा कि डैनियल विल्सन ने नीचे टिप्पणी में उल्लेख किया है, यह केवल वर्तमान सत्र में ही रास्ता तय करता है। पथ को स्थायी रूप से उपयोग करने के लिए सेट करें, setxलेकिन जागरूक रहें, हालांकि यह पथ को स्थायी रूप से सेट करता है, लेकिन वर्तमान सत्र में नहीं, इसलिए आपको परिवर्तनों को देखने के लिए एक नई कमांड लाइन शुरू करनी होगी, यहां अधिक जानकारी ।

यह जाँचने के लिए कि एक पर्यावरणीय चर मौजूद है या उसका मान उपयोग करें ECHO कमांड:

echo %YOUR_ENV_VARIABLE%

1
यह काम किया :) कि कैसे के बारे में! 'पाथ% पाथ%;' मुझे याद है कि
डस्टिन वुडार्ड

12
मुझे लगता है कि यह केवल cmd सत्र के उदाहरण के लिए काम करता है, इसे स्थायी रूप से बदलने के लिए setx का उपयोग करें
डैनियल विल्सन

2
इसके साथ उद्धरण शामिल करें। उदाहरण के लिएPATH %PATH%;C:\Program Files\...PATH "%PATH%;C:\Program Files\..."
icc97

4
Setx का उपयोग न करें! आप अपने पथ चर के जोखिम को कम करते हैं, कई अन्य रास्तों को खो देते हैं जिन्हें आपने समय बिताया था। ऊपर चेतावनी दें।
STWilson

1
@STWilson, आपकी टिप्पणी देखने के लिए बहुत देर हो चुकी है!
वेस्ट यांग

48

मैं इसके बजाय PowerShell का उपयोग करूंगा!

PowerShell का उपयोग करके PATH के लिए एक निर्देशिका जोड़ने के लिए, निम्नलिखित करें:

$PATH = [Environment]::GetEnvironmentVariable("PATH")
$xampp_path = "C:\xampp\php"
[Environment]::SetEnvironmentVariable("PATH", "$PATH;$xampp_path")

मशीन-वाइड, सभी उपयोगकर्ताओं के लिए चर सेट करने के लिए, अंतिम पंक्ति इस प्रकार होनी चाहिए:

[Environment]::SetEnvironmentVariable("PATH", "$PATH;$xampp_path", "Machine")

PowerShell स्क्रिप्ट में, आप C:\xampp\phpPATH में जोड़ने से पहले अपनी उपस्थिति के लिए जाँच कर सकते हैं (यदि यह पहले जोड़ा जा चुका है तो)। आप इसे ifसशर्त में लपेट सकते हैं।

तो यह सब एक साथ रख:

$PATH = [Environment]::GetEnvironmentVariable("PATH")
$xampp_path = "C:\xampp\php"
if( $PATH -notlike "*"+$xampp_path+"*" ){
    [Environment]::SetEnvironmentVariable("PATH", "$PATH;$xampp_path", "Machine")
}

बेहतर अभी भी, एक सामान्य कार्य बना सकता है। बस उस निर्देशिका की आपूर्ति करें जिसे आप जोड़ना चाहते हैं:

function AddTo-Path{
param(
    [string]$Dir
)

    if( !(Test-Path $Dir) ){
        Write-warning "Supplied directory was not found!"
        return
    }
    $PATH = [Environment]::GetEnvironmentVariable("PATH")
    if( $PATH -notlike "*"+$Dir+"*" ){
        [Environment]::SetEnvironmentVariable("PATH", "$PATH;$Dir", "Machine")
    }
}

आप कुछ पॉलिशिंग करके चीजों को बेहतर बना सकते हैं। उदाहरण के लिए, Test-Pathयह पुष्टि करने के लिए कि आपकी निर्देशिका वास्तव में मौजूद है।


3
पैरामीटर के SetEnvironmentVariableसाथ कॉल करने के लिए Machineआपको व्यवस्थापक अधिकारों के साथ PowerShell को खोलने की आवश्यकता है
InsOp

यह निराशाजनक रूप से निराशाजनक है कि यह "पावर" शेल% userprofile% या $ userprofile को नहीं पहचानता है .. लेकिन फिर, यह वह विंडो है जिसके बारे में हम बात कर रहे हैं
abbood

3
@abbood तुम क्या देख रहे हो $env:userprofile
nyuszika7h

3
आपको userया machineके कॉल में भी निर्दिष्ट करना चाहिए GetEnvironmentVariable। अन्यथा, $PATHरजिस्ट्री के उपयोगकर्ता और मशीन भाग दोनों के मूल्य शामिल होंगे जो इसे फिर से संग्रहीत करते समय पथ चर को अनावश्यक रूप से उड़ा देंगे।
रेने न्यफेनेगर

35

सुरक्षित SETX

@ नफ्सस्क्रिप्ट के प्रारंभिक SETXउत्तर पर सभी टिप्पणियों के लिए नोड

  • SETXडिफ़ॉल्ट रूप से आपके उपयोगकर्ता पथ को अपडेट करेगा ।
  • SETX ... /Mआपके सिस्टम पथ को अद्यतन करेगा ।
  • %PATH% उपयोगकर्ता पथ के साथ सिस्टम पथ शामिल है

चेतावनी

  1. बैकअप अपनेPATH - SETX1024 वर्णों से अधिक समय तक आपके रद्दी को काट देगा
  2. कॉल न करेंSETX %PATH%;xxx - उपयोगकर्ता पथ में सिस्टम पथ जोड़ता है
  3. फोन मत करो SETX %PATH%;xxx /M - उपयोगकर्ता पथ को सिस्टम पथ में जोड़ता है
  4. अत्यधिक बैच फ़ाइल का उपयोग अंधापन का कारण बन सकता है 1

Ss64 SETX पेज कुछ बहुत अच्छा उदाहरण है। महत्वपूर्ण रूप से यह इंगित करता है कि SETXबनाम के लिए रजिस्ट्री कुंजियाँ कहाँ हैंSETX /M

उपयोगकर्ता विविधताएँ:

HKCU\Environment

सिस्टम चर:

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

उपयोग के निर्देश

उपयोगकर्ता के लिए आवेदन करें PATH

append_user_path.cmd

@ECHO OFF
REM usage: append_user_path "path"
SET Key="HKCU\Environment"
FOR /F "usebackq tokens=2*" %%A IN (`REG QUERY %Key% /v PATH`) DO Set CurrPath=%%B
ECHO %CurrPath% > user_path_bak.txt
SETX PATH "%CurrPath%";%1

सिस्टम में जोड़ें PATH

append_system_path.cmdव्यवस्थापक के रूप में चलाया जाना चाहिए।

(यह मूल रूप से एक अलग Keyऔर SETX /Mसंशोधक को छोड़कर समान है )

@ECHO OFF
REM usage: append_system_path "path"
SET Key="HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
FOR /F "usebackq tokens=2*" %%A IN (`REG QUERY %Key% /v PATH`) DO Set CurrPath=%%B
ECHO %CurrPath% > system_path_bak.txt
SETX PATH "%CurrPath%";%1 /M

वैकल्पिक

अंत में संभावित रूप से एक उन्नत संस्करण है जिसे SETENV कहा जाता है जिसे ss64 SETX पृष्ठ द्वारा अनुशंसित किया जाता है जो उपयोगकर्ता या सिस्टम संस्करण चर सेट करता है।


1. सख्ती से सच नहीं


24

पार्टी के लिए देर से - लेकिन अगर आप पहले से निर्देशिका में हैं तो आप पाथ में जोड़ना चाहते हैं।

set PATH=%PATH%;%CD%

संपादित करें: प्रति टिप्पणी के अनुसार - मानक विंडोज़ cmd के साथ काम करता है, लेकिन इसमें पॉवरशेल नहीं है।

शक्तियों के लिए %CD%समतुल्य है[System.Environment]::CurrentDirectory


1
मेरे Powershell का कहना है कि% CD% मान्यता प्राप्त नहीं है।
पाउलो माटोस

@PaooMatos [System.Environment]::CurrentDirectory
nclord

4

सभी उत्तरों के अलावा, यदि आप अपने विंडोज़ पर्यावरण चर को संपादित करने के लिए एक अच्छा GUI उपकरण चाहते हैं, जिसका आप उपयोग कर सकते हैं रैपिड पर्यावरण संपादक का

कोशिश करो! इसका उपयोग करने के लिए सुरक्षित और भयानक!

http://www.rapidee.com/en/


2
विंडोज 10 ने अब पथ पर्यावरण चर संपादक में काफी सुधार किया है। केवल उन्हें चक्कर लगाने में 20 साल लग गए।
icc97

4
  • कमांड लाइन परिवर्तन स्थायी नहीं होगा, कंसोल बंद होने पर खो जाएगा।
  • पथ कार्य जैसे पहले आता है पहले होता है।
  • आप अन्य पहले से ही निष्पादित निष्पादन को ओवरराइड करना चाह सकते हैं। उदाहरण के लिए, यदि आपके पास पहले से ही अपने रास्ते पर एक और संस्करण है और आप पथ पर एक स्थायी परिवर्तन किए बिना अलग संस्करण जोड़ना चाहते हैं, तो आपको कमांड की शुरुआत में निर्देशिका डालनी चाहिए।

पहले से ही निष्पादित निष्पादन को ओवरराइड करने के लिए;

PATH = C: \ xampp \ php;% PATH% सेट करें;


2

Windows 10 LTSB पर उपरोक्त सुझावों की जाँच, और "सहायता" रूपरेखा पर एक झलक के साथ (जो कि cmd पर 'कमांड /!' टाइप करते समय देखा जा सकता है), मुझे इस निष्कर्ष पर लाया कि PATH कमांड सिस्टम चर बदलता है केवल वर्तमान सत्र के लिए पथ मान, लेकिन सभी मानों को रिबूट करने के बाद अपने डिफ़ॉल्ट पर रीसेट कर देते हैं- जैसे वे PATH कमांड का उपयोग करने से पहले थे।

दूसरी ओर, प्रशासनिक विशेषाधिकारों के साथ SETX कमांड का उपयोग करना अधिक शक्तिशाली है, यह उन मूल्यों को अच्छे के लिए बदलता है (या कम से कम अगली बार जब तक इस कमांड का उपयोग नहीं किया जाता है या अगली बार जब तक उन मानों को मैन्युअल रूप से GUI हेरफेर नहीं किया जाता है ...)।

लेकिन स्पष्टता के लिए मैंने सोचा कि यहाँ साझा करना सबसे अच्छा SETX सिंटैक्स उपयोग है जो मेरे लिए काम करता है वह एक दिन किसी की मदद कर सकता है:

SETX PATH "%PATH%;C:\path\to\where\the\command\resides"

जहां किसी भी समान चिह्न '=' से बचा जाना चाहिए, और आप रिक्त स्थान की चिंता नहीं करते हैं! किसी पथ के लिए कोई और उद्धरण चिह्न सम्मिलित करने की आवश्यकता नहीं है जिसमें उसके अंदर रिक्त स्थान हों- विभाजन चिह्न ';' काम करें।

PATH कीवर्ड जो SETX को परिभाषित करता है कि कौन सा सेट मूल्यों को सिस्टम एन्वायरमेंट वेरिएबल्स के संभावित मानों में बदला जाना चाहिए, और उद्धरण चिह्नों के अंदर% PATH% (प्रतिशत चिह्न से घिरा PATH शब्द) OS को मौजूदा छोड़ने के लिए कहता है। PATH मानों के रूप में वे हैं और मौजूदा पथ (विभाजित चिह्न का अनुसरण करने वाला ';') को मौजूदा मानों में जोड़ें।

HTH


2

बिंदु 2 के बारे में मैं एक साधारण बैच फ़ाइल का उपयोग कर रहा हूं जो PATHमेरे लिए आबादी या अन्य पर्यावरण चर है। इसलिए, डिफ़ॉल्ट रूप से पर्यावरण चर का कोई प्रदूषण नहीं है। यह बैच फ़ाइल हर जगह से सुलभ है इसलिए मैं टाइप कर सकता हूं:

c:\>mybatchfile
-- here all env. are available
c:\>php file.php

यह * निक्स-एस और विंडोज के बीच एक महत्वपूर्ण अंतर है। बैच एक ही शेल में चलता है, और इसके बाहर निकलने के (सत्र के दायरे में) रहने पर पर्यावरण में परिवर्तन होता है। हालाँकि, यह दोनों तरीकों से कटौती करता है: एक बैच फ़ाइल आपके वातावरण को अनियंत्रित कर सकती है। (बीटीडब्ल्यू, * निक्स-एस पर आपको सिर्फ sourceइस तरह की फाइल करनी होगी , जैसे . mybatchfile)।
टॉमस गैंडर

हाय @ grzegorz-gajos, मैं ठीक इसके लिए देख रहा था, अधिक जानकारी के लिए आपका लिंक 404 देता है। कोई विकल्प?
देवकबीर

क्षमा करें, लिंक से सामग्री अब उपलब्ध नहीं है। मैने हटा दिया।
ग्रेजेगॉर्ज गजोस

1

कमांड प्रॉम्प्ट में आप Cmd को एक्सप्लोरर की कमांड लाइन को इसके साथ प्रीफैस करके उपयोग करने के लिए कहते हैं start

तो start Yourbatchname

ध्यान दें कि आपको रजिस्टर करना है जैसे कि उसका नाम batchfile.exe

प्रोग्राम और दस्तावेजों को रजिस्ट्री में जोड़ा जा सकता है ताकि स्टार्ट - रन डायलॉग बॉक्स या शॉर्टकट के बिना अपना नाम टाइप करें विंडोज उन्हें खोजने में सक्षम बनाता है।

यह एक जेनेरिक रेग फाइल है। एक नए टेक्स्ट डॉक्यूमेंट के नीचे की पंक्तियों को कॉपी करें और इसे anyname.reg के रूप में सहेजें। इसे अपने कार्यक्रमों या दस्तावेजों के साथ संपादित करें।

पथ में कुंजी पथ में फ़ोल्डर नामों को अलग करने के लिए \ _ का उपयोग करें क्योंकि regedit यह कुंजी नामों को अलग करने के लिए एकल \ का उपयोग करता है। सभी reg फाइलें REGEDIT4 से शुरू होती हैं। एक अर्धविराम एक पंक्ति को एक टिप्पणी में बदल देता है। @ प्रतीक का अर्थ है एक नामित मान के बजाय कुंजी को मान निर्दिष्ट करना।

फ़ाइल मौजूद नहीं है। यह Win.exe को खोलने के लिए Word.exe को सेट करने के लिए उपयोग किया जा सकता है।

टाइपिंग start batchfileशुरू हो जाएगी iexplore.exe।

REGEDIT4
;The bolded name below is the name of the document or program, <filename>.<file extension> 

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\Batchfile.exe]

;The @ means the path to the file is assigned to the default value for the key.
;The whole path in enclosed in a quotation mark ".

@="\"C:\\Program Files\\Internet Explorer\\iexplore.exe\""

;Optional Parameters. The semicolon means don't process the line. Remove it if you want to put it in the registry

;Informs the shell that the program accepts URLs.

;"useURL"="1"

;Sets the path that a program will use as its' default directory. This is commented out.

;"Path"="C:\\Program Files\\Microsoft Office\\Office\\"

आपको दूसरे उत्तर में पथ के बारे में पहले ही बता दिया गया है। doskey /?Cmd macros के लिए भी देखें (वे केवल टाइप करते समय काम करते हैं)।

आप सीएमडी के लिए स्टार्टअप कमांड चला सकते हैं। विंडोज रीसोर्स किट टेक्निकल रेफरेंस से

ऑटोरन

HKCU\Software\Microsoft\Command Processor 

Data type Range Default value 
REG_SZ  list of commands  There is no default value for this entry.  

विवरण

Cmd.exe शुरू करने पर हर बार निष्पादित होने वाली कमांड शामिल हैं।


1

कंट्रोल पैनल का एक बेहतर विकल्प पैथेंटर नामक सोर्सफोर्ज के इस फ्रीवेयर प्रोग्राम का उपयोग करना है:

https://sourceforge.net/projects/pathenator/

हालाँकि, यह केवल श्रमिकों के लिए है जिसमें Dot.Net 4.0 या अधिक है जैसे कि विंडोज़ 7,8, या 10।


1

यदि आप कमांड चलाते हैं cmd, तो यह उस कमांड विंडो के सभी सिस्टम चर को अपडेट कर देगा।


एक अर्थ में। क्या होता है कि आप वर्तमान सत्र के भीतर एक नया सत्र शुरू करते हैं। छोड़ने के लिए आपको exitदो बार कॉल करना होगा , पहले नए को बंद करना और फिर पहले सत्र (पुराने परिवेश के साथ) को बंद करना।
फ़रवे

1

gtools से पथ का उपयोग करें

यह चीजों को सहज तरीके से करता है जैसे:

pathed /REMOVE "c:\my\folder"
pathed /APPEND "c:\my\folder"

यह और एक नया cmd की आवश्यकता के बिना परिणाम दिखाता है !


0
  1. मैंने उस समय PHP स्थापित किया है। निकाले php-7 ***। ज़िप को C: \ php \
  2. मेरे वर्तमान PATH पर्यावरण चर का बैकअप लें: चलाएँ cmd, और कमांड निष्पादित करें:path >C:\path-backup.txt

  3. C: \ path.txt फ़ाइल (उसी तरह) में मेरा वर्तमान पथ मान प्राप्त करें

  4. Path.txt को संशोधित करें (निश्चित रूप से, मेरी पथ की लंबाई 1024 चार्ट से अधिक है, विंडोज़ कुछ वर्षों से चल रही है)
    • मैंने वहां डुप्लिकेट पथ हटा दिए हैं, जैसे 'C: \ Windows; या C: \ Windows \ System32; या C: \ Windows \ System32 \ Wbem; - मैं दो बार मिल चुका हूं।
    • अनइंस्टॉल किए गए प्रोग्राम पाथ को भी हटा दें। उदाहरण: C: \ Program Files \ NonExistSoftware;
    • इस तरह, मेरी पथ स्ट्रिंग की लंबाई <1024 :)))
    • पथ स्ट्रिंग जोड़ने के अंत में; C: \ php \
    • केवल दोहरे उद्धरण चिह्नों के साथ बफर में पथ मूल्य कॉपी करें! उदाहरण: "C: \ Windows; ****; C: \ php \" कोई पथ = नहीं होना चाहिए !!!
  5. व्यवस्थापक के रूप में Windows PowerShell खोलें।
  6. चलाने के आदेश:

setx path "Here you should insert string from buffer (new path value)"

  1. अपना टर्मिनल फिर से चलाएं (मैं "सुदूर प्रबंधक" का उपयोग करता हूं) और जांचें: php -v

0

जैसा कि यह हो सकता है, मुझे विंडोज को फिर से शुरू करना पड़ा इस समस्या का सामना करते समय करना पड़ा।

मैं विंडोज 7 x64 चला रहा हूं। मैंने सिस्टम पथ चर के लिए एक मैनुअल अपडेट किया। अगर मैंने cmd.exe को स्टेटस मेनू से चलाया तो यह ठीक है। लेकिन अगर मैं विंडोज एक्सप्लोरर एड्रेस बार में "cmd" टाइप करता हूं, तो यह PATH को कहीं और से लोड करने लगता है, जिसमें मेरे मैन्युअल बदलाव नहीं थे।

(संदेह से बचने के लिए - हाँ, मैंने दोबारा शुरू करने से पहले कुछ समय के लिए करीबी और फिर से दौड़ लगाई और इससे मदद नहीं मिली।)

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