मुझे दूरस्थ रूप से एक पर्यावरण चर का उपयोग करने की आवश्यकता है। ऐसा करने के लिए मुझे लगता है कि इसे रजिस्ट्री से पढ़ने का सबसे अच्छा तरीका है।रजिस्ट्री में संग्रहीत पर्यावरण चर कहाँ हैं?
रजिस्ट्री में संग्रहीत पर्यावरण चर कहाँ हैं?
मुझे दूरस्थ रूप से एक पर्यावरण चर का उपयोग करने की आवश्यकता है। ऐसा करने के लिए मुझे लगता है कि इसे रजिस्ट्री से पढ़ने का सबसे अच्छा तरीका है।रजिस्ट्री में संग्रहीत पर्यावरण चर कहाँ हैं?
रजिस्ट्री में संग्रहीत पर्यावरण चर कहाँ हैं?
यहां से वे सर्वर 2012 R2 के माध्यम से XP पर संग्रहीत किया जाता है है:
उपयोगकर्ता चर
HKEY_CURRENT_USER\Environment
सिस्टम चर
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
मुझे लगता है इस वर्ष है, लेकिन वहाँ एक और अधिक कुशल है विंडोज 7 में ऐसा करने का तरीका। एसईटीएक्स डिफ़ॉल्ट रूप से स्थापित है और अन्य सिस्टम से कनेक्ट करने का समर्थन करता है।
एक दूरस्थ सिस्टम वैश्विक वातावरण चर आप
setx /m /s HOSTNAME-GOES-HERE VariableNameGoesHere VariableValueGoesHere
का उपयोग होगा संशोधित करने के लिए यह एक्सप्लोरर को पुन: प्रारंभ आवश्यकता नहीं है।
इसके साथ सावधान रहें, 1024 charachters के बाद सब कुछ truncates !!! https://superuser.com/questions/387619/overcoming-the-1024-character-limit-with-setx – WalyKu
मैं हमेशा उस के साथ समस्या नहीं थी, मैं एक getx.bat बनाया:
::getx %envvar% [\m]
::reads envvar from user enviroment variable and stores it in getxvalue variable
::with \m read system enviroment
@SETLOCAL EnableDelayedExpansion
@echo OFF
@set l_regpath="HKEY_CURRENT_USER\Environment"
@if "\m"=="%2" set l_regpath="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
::REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PATH /t REG_SZ /f /d "%PATH%"
::@REG QUERY %l_regpath% /v %1 /S
@FOR /F "tokens=*" %%A IN ('REG QUERY %l_regpath% /v %1 /S') DO (
@ set l_a=%%A
@ if NOT "!l_a!"=="!l_a: =!" set l_line=!l_a!
)
::delimiter is four spaces change it to tab \t
@set l_line=!l_line!
@set l_line=%l_line: = %
@set getxvalue=
@FOR /F "tokens=3* delims= " %%A IN ("%l_line%") DO (
@ set getxvalue=%%A
)
@set getxvalue=!getxvalue!
@echo %getxvalue% > getxfile.tmp.txt
@ENDLOCAL
::we already used tab as delimiter
@FOR /F "delims= " %%A IN (getxfile.tmp.txt) DO (
@set getxvalue=%%A
)
@del getxfile.tmp.txt
@echo ON
cmd:
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
reg query HKEY_CURRENT_USER\Environment
Powershell:
gi "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
gi HKCU:\Environment
Powershell/नेट: (देखें https://msdn.microsoft.com/en-us/library/system.environmentvariabletarget(v=vs.110).aspx)
[System.Environment]::GetEnvironmentVariables([System.EnvironmentVariableTarget]::Machine)
[System.Environment]::GetEnvironmentVariables([System.EnvironmentVariableTarget]::User)
अपने परिवर्तनों को प्रभावी बनाने के लिए अपने सिस्टम को पुनरारंभ करना याद रखें। – 0x6B6F77616C74
आपको पुनरारंभ करने की आवश्यकता नहीं है। बस Explorer.exe को मार डालो और इसे वापस जिंदा लाओ। उदाहरण के लिए यह मूल प्रक्रिया है cmd.exe (स्टार्ट मेनू से शुरू होने पर) –
अन्य प्रक्रियाओं के बारे में कैसे - जैसे आईआईएस? मुझे लगता है कि Explorer.exe उन लोगों के लिए माता-पिता नहीं है, इसलिए पुनरारंभ की आवश्यकता होगी? – Colin