উত্তর:
এটি আপনার পরিবেশের পরিবর্তনশীলগুলি কীভাবে সেট করা হয়েছিল তার উপর নির্ভর করে। উদাহরণস্বরূপ, আপনি যদি কমান্ড লাইনে "SET" কমান্ডটি ব্যবহার করেন তবে এটি কেবল বর্তমান উদাহরণকেই প্রভাবিত করে। অন্যদিকে, "SETX" এর মতো আদেশগুলি স্থায়ীভাবে পরিবেশের ভেরিয়েবলের মান সমন্বয় করবে। এসইটিএক্স এটি নিশ্চিত করবে যে ভবিষ্যতের সমস্ত সেন্টিমিড আপডেট দেখতে পাবে। এটি স্থানীয় পরিবেশে প্রভাব ফেলবে না।
যদি পরিবেশের পরিবর্তনশীলটি অন্য কোনও অ্যাপ্লিকেশন দ্বারা সেট করা থাকে এবং আপডেট না করা হয় তবে "এক্সপ্লোরার এক্সেক্স" প্রক্রিয়াটি পুনরায় চালু করা, লগ আউট এবং পিছনে প্রবেশ করা বা পুনরায় বুট করা খুব সহজ। মূলত, আপনাকে কেবল পরিবেশের ভেরিয়েবলগুলি পুনরায় লোড করতে এক্সপ্লোরারকে বলতে হবে। এটি যদি আপনি এমন কোনও অ্যাপ্লিকেশন হয়ে থাকেন যা আপনি বিকাশ করেছেন যেমন কোনও ইনস্টলার, নিশ্চিত করুন যে এটি কল করছে SendMessage (HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM)"Environment");
। এটি এক্সপ্লোরারকে পরিবেশের ভেরিয়েবলগুলির ক্যাশে রিফ্রেশ করতে বলে।
এটি গুরুত্বপূর্ণ কারণ অন্য কোনও প্রক্রিয়া দ্বারা প্রবর্তিত অ্যাপ্লিকেশনগুলি তাদের পিতামাতার কাছ থেকে তাদের পরিবেশের ভেরিয়েবলের উত্তরাধিকারী। যেমন, আপনি যদি এক্সপ্লোরার থেকে সেন্টিমিডি চালু করেন তবে এক্সপ্লোরাররা যেমন দেখেন তেমন ভেরিয়েবলগুলি পাবেন।
উইন্ডোজে মাস্টার এনভায়রনমেন্ট নির্ধারণ এবং পুনরুদ্ধার এমন একটি বিষয় যা বার্টপেই লোকেরা বেশ ভাল সময় ব্যয় করেছিল।
মূল পরিবেশটি রেজিস্ট্রিতে সংরক্ষিত থাকে তবে এক্সপ্লোরার শেল এটি তার ঠিকানায় পড়ে reads এখান থেকে এটি প্রতিটি সেমিডি.এক্স.এক অধিবেশনে প্রেরণ করা হয়।
SET কেবলমাত্র সেমিডি পরিবেশকে প্রভাবিত করে। SETX আপনাকে প্রধান পরিবেশ পরিবর্তন করতে দেয়, তবে সেটিংসটি স্থানীয় পরিবেশে প্রতিফলিত হয় না।
ফ্র্যাঙ্ক ওয়েস্টলকের কনসেট এবং 4 এনটি রেজিস্ট্রি থেকে এন্ট্রি আনতে পারে তবে বিশেষত মাস্টার পরিবেশের জন্য কোনও পরিবর্তন নেই।
সাধারণত লোড হওয়া উইন্ডোজগুলি রেজিস্ট্রি করার জন্য সেটিংসের উপর নজর রাখে, যখন মিন্টের মাধ্যমে লোড করা (যেমন উইনপিই) না করে। সুতরাং রেজিস্ট্রি সেট করা এবং পাঠ্য রেজিস্ট্রি উভয় ক্ষেত্রেই কাজ করে তবে সাধারণত বুট করা উইন্ডোগুলি সেটিংসটি দেখতে এবং সেগুলি একটি নতুন সেন্টিমিডি, এক্সিপ প্রোগ্রামে স্থান দেয়।
এটি নির্ভর করে যেখানে আপনি আপনার পরিবেশের ভেরিয়েবলগুলি "সেট" করেছেন। আপনার বাশ উদাহরণের সমতুল্য এই রকম হবে:
ফাইল: env.bat
set FOO=bar
এবং এখন আপনি এটি রিফ্রেশ
% call env.bat
তবে আমি মনে করি আপনি এটি উইন্ডোজ-সিস্টেম-সেটিংস-ডায়ালগের মাধ্যমে করেছেন (বা এর নাম যাই হোক না কেন)। এর ফলস্বরূপ আপনি আসলে রেজিস্ট্রি পরিবর্তন করেছেন। আপনি একটি নতুন প্রক্রিয়া আরম্ভ করার সময় এই রেজিস্ট্রি সেটিংস প্রক্রিয়াটিতে ম্যাপ করা হয়।
সুতরাং, আপনি হয় একটি নতুন প্রক্রিয়া শুরু করতে পারেন (আপনার ক্ষেত্রে cmd.exe) অথবা আপনি যে পরিবর্তনগুলি চান তা প্রতিবিম্বিত করে রেজিস্ট্রি কীগুলি পড়তে পারেন। আপনি একটি সামান্য .bat / .Cmd স্ক্রিপ্টও লিখতে পারেন যা নিবন্ধ থেকে পরিবেশ পায় এবং বর্তমান পরিবেশটি বদলে দেয় (যদি মেজাজ আমাকে আঘাত করে তবে আমি মধ্যাহ্নভোজনের পরে এটি করব)।