আমার দূরবর্তী অবস্থানের পরিবেশের পরিবর্তনশীল অ্যাক্সেস করা দরকার। এটি করার জন্য আমি মনে করি সবচেয়ে ভাল উপায় হ'ল এটি রেজিস্ট্রি থেকে পড়া।
পরিবেশের ভেরিয়েবলগুলি রেজিস্ট্রিতে কোথায় সংরক্ষণ করা হয়?
আমার দূরবর্তী অবস্থানের পরিবেশের পরিবর্তনশীল অ্যাক্সেস করা দরকার। এটি করার জন্য আমি মনে করি সবচেয়ে ভাল উপায় হ'ল এটি রেজিস্ট্রি থেকে পড়া।
পরিবেশের ভেরিয়েবলগুলি রেজিস্ট্রিতে কোথায় সংরক্ষণ করা হয়?
উত্তর:
এগুলি এখানে সার্ভার 2012 আর 2 এর মাধ্যমে তারা এক্সপিতে সঞ্চিত আছে:
ব্যবহারকারীর চলক
HKEY_CURRENT_USER\Environment
সিস্টেম ভেরিয়েবলগুলি
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
আমি বুঝতে পারি এটি পুরানো তবে উইন্ডোজ in এ এটি করার আরও কার্যকর উপায় রয়েছে is এসইটিএক্স ডিফল্টরূপে ইনস্টল করা হয় এবং অন্যান্য সিস্টেমে সংযোগ স্থাপনে সমর্থন করে supports
দূরবর্তী সিস্টেমগুলির বৈশ্বিক পরিবেশের ভেরিয়েবলগুলি সংশোধন করতে আপনি ব্যবহার করবেন
setx /m /s HOSTNAME-GOES-HERE VariableNameGoesHere VariableValueGoesHere
এটি পুনরায় আরম্ভকারী এক্সপ্লোরার প্রয়োজন হয় না।
cmd কমান্ড:
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
reg query HKEY_CURRENT_USER\Environment
শক্তির উৎস:
Get-Item "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
Get-Item HKCU:\Environment
পাওয়ারশেল /। নেট: (দেখুন https://msdn.microsoft.com/en-us/library/system.enomotvariocolatearget(v=vs.110).aspx )
[System.Environment]::GetEnvironmentVariables([System.EnvironmentVariableTarget]::Machine)
[System.Environment]::GetEnvironmentVariables([System.EnvironmentVariableTarget]::User)
আমার সর্বদা এটির সাথে সমস্যা ছিল, আমি একটি 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