উইন্ডোতে পরিবেশের পরিবর্তনগুলি কীভাবে রফতানি এবং আমদানি করবেন?


98

আমি দেখতে পেলাম যে বিভিন্ন পরিবেশে আমার পরিবেশের ভেরিয়েবল সিঙ্ক করা শক্ত। আমি কেবল একটি কম্পিউটার থেকে সেটিংস রফতানি করতে চাই এবং অন্য একটিতে আমদানি করতে চাই।

আমি মনে করি এটি সম্ভব হওয়া উচিত, তবে এটি কীভাবে করবেন তা জানেন না। আমাকে কি কেউ সাহায্য করতে পারবেন? ধন্যবাদ

উত্তর:


123

নিম্নলিখিত দুটি কী রফতানি করতে আপনি RegEdit ব্যবহার করতে পারেন:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

HKEY_CURRENT_USER\Environment

প্রথম সেটটি সিস্টেম / বৈশ্বিক পরিবেশের পরিবর্তনশীল; দ্বিতীয় সেটটি ব্যবহারকারী-স্তরের ভেরিয়েবল। প্রয়োজন অনুযায়ী সম্পাদনা করুন এবং তারপরে নতুন মেশিনে .reg ফাইলগুলি আমদানি করুন।


4
প্রোগ্রামটি পুনরায় চালিত করুন, প্রশ্নে কীগুলি হাইলাইট করুন এবং তারপরে "ফাইল -> রফতানি" বিকল্পটি ব্যবহার করুন যাতে এটি ফাইল হিসাবে সংরক্ষণ করুন
সিলভারটিগার

অ্যাডমিনের অনুমতি থাকা অবস্থায় .reg ফাইলটিতে ডাবল ক্লিক করে আমদানি করা সহজ হয়।
Thanos.a

দ্রষ্টব্য: এটি সমস্ত পরিবেশের ভেরিয়েবলগুলি (ইভি) পায় না! আমি সবেমাত্র একটি কমান্ড সেট পাথ করেছি এবং আমার সমস্ত ইভিতে বিশৃঙ্খলা তৈরি করেছি। আমি এই রেজিস্ট্রি গিয়েছিলাম এবং শুধুমাত্র আসল ইভি ছিল। আমি একটি সিস্টেম পুনরুদ্ধার করেছিলাম এবং আমার সমস্ত অনুপস্থিত EV প্যাথ ভারে ফিরে পেয়েছি। এই রেজিস্ট্রিটিতে কেবল কয়েকটি প্রয়োজনীয় ইভি রয়েছে তবে আপনার প্রোগ্রামের কোনও ইভি বা ম্যানুয়ালি আপনি যে কোনও পথ নির্ধারণ করেছেন তা নয়। সাবধান! কমান্ড লাইনে: ইকো পাথ> mybackup.txt বা সেট করুন> mybackup.txt পুরো ব্যাকআপের জন্য সমস্ত vars / পাথ এবং সমস্ত sys vars / পাথ।
ইজবাইটস

@ ইজবাইটেস এটি আপনার বিশ্বব্যাপী পরিবর্তনগুলি কপি করে যা আপনি সেট করেছেন তবে এটি রেজিস্ট্রি না করে সিএলআই দিয়ে রপ্তানি করা ভাল।
আলেকজান্ডার

92

আমি উপরে বর্ণিত প্যাথের পরিবর্তে সমস্ত ভেরিয়েবলগুলি রফতানি করার জন্য কমান্ড প্রম্পট থেকে SET কমান্ডটি ব্যবহার করব।

C:\> SET >> allvariables.txt

পরিবর্তনগুলি আমদানি করতে, একটি সাধারণ লুপ ব্যবহার করতে পারে:

C:\> for /F %A in (allvariables.txt) do SET %A

11
আপনি কীভাবে সমস্ত রফতানি করা এনভিকে ফেরত আমদানি করবেন। বার্স allvariables.txt থেকে
অ্যাশ

খুব সুন্দর. আমি সবেমাত্র আমার সমস্ত পথের ভারগুলি হারিয়ে ফেলেছি একটি খারাপ পথ সেট করেছিলাম এবং একটি সিস্টেম পুনরুদ্ধার করতে হয়েছিল। ভাগ্যক্রমে আমার আগের মতো সাম্প্রতিক আপডেট ছিল। আমি এই কমান্ডটি দিয়ে একটি ব্যাকআপ করেছি। ভাল লাগল এই রেজিস্ট্রি সলিউশনটি কেবলমাত্র মূল ভার্সগুলি ধারণ করে, তবে "আপনি" (প্রোগ্রামার হিসাবে নতুন তৈরির জন্য বলেন) কিছুই তৈরি হয়নি বা কোনও নতুন ইনস্টল তৈরি হয়েছে।
ইজবাইটস

4
উইন্ডোজ 7 -৪-বিটে, যদি ব্যবহারকারী স্তরের এবং সিস্টেমের স্তরে দুটি পরিচয়যুক্ত ভেরিয়েবল থাকে তবে এই কমান্ডটি ব্যবহারকারী স্তরের ভেরিয়েবলকে অগ্রাধিকার দেয় এবং সিস্টেম স্তর একটিকে বাদ দেয়। এই আচরণটি বোধগম্য হয় তবে প্রতিটি ভেরিয়েবল টাইপ থেকে কেউ যদি পুরো সেটটি আশা করে তবে এটি উল্লেখ করার মতো হতে পারে।
গোল্ডড্রাগনটিএসইউ

4
এই কমান্ডটি কাজ করেছে:set > "C:\Users\xx\Desktop\envir variable.txt"
জিনস্নো

4
অ্যাশের উত্তর দেওয়ার জন্য, আপনি সমস্ত ভেরিয়েবলগুলি আমদানি করার জন্য সিএমডি প্রম্পটে লুপের জন্য একটি সাধারণ ব্যবহার করতে পারেন:for /F %A in (allvariables.txt) do SET %A
গ্যাব্রিয়েল

18

ব্যবহারকারীর ভেরিয়েবলগুলি রফতানি করতে, কমান্ড প্রম্পটটি খুলুন এবং / ই দিয়ে রিজেডিট ব্যবহার করুন

উদাহরণ:

regedit /e "%userprofile%\Desktop\my_user_env_variables.reg" "HKEY_CURRENT_USER\Environment"

14

@ ভিনসিলবার এবং @ জিজিটাল এর উত্তরগুলি কিছু সংশোধন করে একত্রিত করুন ,

  1. .regবর্তমান ডিরেক্টরিতে রফতানি করুন
  2. তারিখ চিহ্ন যোগ করুন

কোড:

set TODAY=%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%

regedit /e "%CD%\user_env_variables[%TODAY%].reg" "HKEY_CURRENT_USER\Environment"
regedit /e "%CD%\global_env_variables[%TODAY%].reg" "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"

আউটপুট চাই:

global_env_variables[2017-02-14].reg
user_env_variables[2017-02-14].reg

4
আজ পরিবর্তনশীল উপর নির্ভর করে % DATE তারিখে% কীভাবে উইন্ডোজ লোকেল পছন্দগুলি উপর নির্ভরশীল। উপরের কমান্ডটি ভারতের পক্ষে কাজ করে না। এটি কাজ করে -> আজকে সেট করুন =% তারিখ: ~ 4,2% -% তারিখ: ~ 7,2% -% তারিখ: ~ 10,4%
রাকেশ এন

5

আপনি কমান্ড লাইনে বা রেজিস্ট্রিতে পরিবেশগত ভেরিয়েবলের অ্যাক্সেস পেতে পারেন।

কমান্ড লাইন

আপনি যদি একটি নির্দিষ্ট পরিবেশের পরিবর্তনশীল চান তবে কেবল এর নাম (যেমন PATH) লিখুন, তারপরে a >, এবং ফাইলের নাম লিখতে হবে। নীচেরগুলি PATH এনভায়রনমেন্ট ভেরিয়েবলকে path.txt নামের একটি ফাইলে ডাম্প করবে।

C:\> PATH > path.txt

রেজিস্ট্রি পদ্ধতি

উইন্ডোজ রেজিস্ট্রি সমস্ত পরিবেশের ভেরিয়েবল ধরে রেখেছে, বিভিন্ন স্থানে আপনি কোন সেটের পরে আছেন তার উপর নির্ভর করে। আপনি অন্য পিসিতে স্থানান্তর করতে রেজিস্ট্রি আমদানি / রফতানি কমান্ডগুলি ব্যবহার করতে পারেন।

সিস্টেম ভেরিয়েবলগুলির জন্য:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

ব্যবহারকারী ভেরিয়েবলগুলির জন্য:

HKEY_CURRENT_USER\Environment

4
আমার মেশিনে, PATH> (বা PATH >>) একটি খালি পাঠ্য ফাইল ফিরিয়ে দিয়েছে, যখন SET >> কাজ করেছিল। উইন্ডোজ 7 x64 বিট।
প্যাট্রিকটি

Win7x64 এ আমার জন্য কাজ করেছেন। প্রয়োজনীয়তাগুলি কী তা নিশ্চিত নয়।
কিসাকি

আপনি কোন ফোল্ডার থেকে এই আদেশটি কার্যকর করেন? মাইন বলল পথ খুঁজে পাচ্ছে না।
আজুরস্পট 21

2

এটি করার জন্য আমার প্রিয় পদ্ধতিটি হ'ল ব্যাচের স্ক্রিপ্ট হিসাবে এটি ব্যবহার করে ব্যবহারকারী ভেরিয়েবল এবং সিস্টেম ভেরিয়েবল উভয়কে একক ব্যাকআপ ফাইলের সাথে একত্রে সংযুক্ত করতে, একটি environment-backup.batফাইল তৈরি করে এতে রেখে দেওয়া:

@echo off
:: RegEdit can only export into a single file at a time, so create two temporary files.
regedit /e "%CD%\environment-backup1.reg" "HKEY_CURRENT_USER\Environment"
regedit /e "%CD%\environment-backup2.reg" "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"

:: Concatenate into a single file and remove temporary files.
type "%CD%\environment-backup1.reg" "%CD%\environment-backup2.reg" > environment-backup.reg
del "%CD%\environment-backup1.reg"
del "%CD%\environment-backup2.reg"

এটি তৈরি করে environment-backup.regযা আপনি বিদ্যমান পরিবেশের ভেরিয়েবলগুলি পুনরায় আমদানি করতে ব্যবহার করতে পারেন। এই হবে যুক্ত & ওভাররাইড নতুন ভেরিয়েবলের কিন্তু না বিদ্যমান বেশী মুছতে :)


2

এখানে আমার পাওয়ারশেল পদ্ধতি

gci env:* | sort-object name | Where-Object {$_.Name -like "MyApp*"} | Foreach {"[System.Environment]::SetEnvironmentVariable('$($_.Name)', '$($_.Value)', 'Machine')"}

এর মানে কি

  1. সমস্ত পরিবেশের ভেরিয়েবলগুলি স্কুপ করে
  2. তাদের ফিল্টার
  3. এগুলি অন্য মেশিনে পুনরায় তৈরি করার জন্য প্রয়োজনীয় ফর্ম্যাট করা পাওয়ারশেলটি নির্ধারণ করে (ধরে নিই যে সমস্ত মেশিন পর্যায়ে সেট করা আছে)

সোর্স মেশিনে এটি চালানোর পরে, কেবলমাত্র টার্গেট মেশিনে আউটপুট স্থানান্তর করুন এবং কার্যকর করুন (মেশিন স্তরে সেট করা থাকলে উন্নত প্রম্পট)


0

@ মিথ্রেলের উত্তরের উপর ভিত্তি করে একটি পাওয়ারশেল স্ক্রিপ্ট

# export_env.ps1
$Date = Get-Date
$DateStr = '{0:dd-MM-yyyy}' -f $Date

mkdir -Force $PWD\env_exports | Out-Null

regedit /e "$PWD\env_exports\user_env_variables[$DateStr].reg" "HKEY_CURRENT_USER\Environment"
regedit /e "$PWD\env_exports\global_env_variables[$DateStr].reg" "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.