কম্পিউটার টিউটোরিয়াল

Windows 11/10-এ System এবং User Environment Variables ব্যাখ্যা

System and User Environment Variables দিন-দিনের Windows OS ব্যবহারকারীদের জন্য সবসময় একটি জটিল আলোচনার বিষয়। এগুলো কী করে? ইন্টারনেটে একটি টিউটোরিয়াল বলল PATH ভেরিয়েবল অ্যাড করুন, কিন্তু সেটি কী? এই ভেরিয়েবলগুলো কোথায় পাব? এই সকল প্রশ্নের উত্তর এই পোস্টে আপনি পাবেন। আমরা System and User Environment Variables কী এবং আপনি কীভাবে এগুলো ব্যবহার করতে পারেন তার একটি হাই-লেভেল ওভারভিউ দেয়া চেষ্টা করেছি।

এই পোস্টে, আমরা Environment Variables, System and User Environment Variables এবং কীভাবে এগুলো অ্যাড ও মডিফাই করবেন তার ওপর আলোচনা করব। তারপর Dynamic System Variables-এ যাবেন এবং দেখব কীভাবে কমান্ড প্রম্পটে এগুলো ব্যবহার করবেন।

Windows OS-এ Environment Variable কী

Environment Variable দুটি আলাদা শব্দ থেকে গঠিত, 'Environment' এবং 'Variable'। আগে 'variable' নিয়ে আলোচনা করি। এর মানে হলো এন্টিটি একটি ভ্যালু স্টোর করতে পারে এবং কম্পিউটার থেকে কম্পিউটারে ভিন্ন হতে পারে। Windows অ্যাপ্লিকেশন এক্সিকিউট এবং অপারেশন সম্পাদনের জন্য একটি 'Environment' প্রদান করে এবং এটিই প্রথম শব্দটি তৈরি করে। দুটো মিলিয়ে, Environment Variables হলো সেই ডাইনামিক অবজেক্টগুলো যা এনভায়রনমেন্ট দ্বারা প্রদত্ত ভ্যালুগুলো স্টোর করে। এনভায়রনমেন্ট এমন ভ্যালু প্রদান করে যা অন্যান্য প্রোগ্রামগুলো সিস্টেম সম্পর্কে কিছু গুরুত্বপূর্ণ ইনফরমেশন পেতে সাহায্য করে। মনে রাখুন 'windir' নামক একটি এনভায়রনমেন্ট ভেরিয়েবল রয়েছে যা Windows ইনস্টল করা ডিরেক্টরির সাথে মেলে। এটিকে একশনে দেখতে, একটি এক্সপ্লোরার উইন্ডো খুলুন এবং অ্যাড্রেস বারে '%windir%' টাইপ করুন। Windows ইনস্টলেশন ফোল্ডার খুলবে।

খুব একইভাবে, আপনি 'windir' ভেরিয়েবল ব্যবহার করে অন্যান্য প্রোগ্রাম ও স্ক্রিপ্টে Windows ডিরেক্টরির রেফারেন্স দিতে পারেন। এমন অন্যান্য অনেক ভেরিয়েবল রয়েছে যেগুলো এক্সেস করা যায়, 'TEMP' বা 'TMP' হলো সেই ভেরিয়েবল যা সেই ডিরেক্টরিকে পয়েন্ট করে যেখানে সকল টেম্পোরারি ফাইল স্টোর হয়। সবচেয়ে জনপ্রিয়, 'Path' ভেরিয়েবল হলো সেটি যা এক্সিকিউটেবল ফাইল থাকা ডিরেক্টরিগুলোকে পয়েন্ট করে। যাতে আপনি যেকোনো অন্য ডিরেক্টরি থেকে Command Prompt-এ একটি প্রোগ্রাম রান করতে পারেন। আমরা Path বিষয়ে পরে এই পোস্টে ব্যাখ্যা করেছি। এই সব ভেরিয়েবলগুলো খুব কাজে আসে যখন আপনি কিছু ডেভেলপ করছেন বা শেল খুব বেশি ব্যবহার করছেন।

System & User Environment Variables কী

Windows-এ Registry কীভাবে কাজ করে তার খুব সাদৃশ্য, আমাদের System and User Environment Variables রয়েছে। System variables সিস্টেম-ওয়াইড.accepted এবং ইউজার থেকে ইউজার ভিন্ন হয় না। Buna, User Environments ইউজার থেকে ইউজার ভিন্নভাবে কনফিগার করা হয়। আপনি আপনার ভেরিয়েবলগুলো ইউজার-এর অধীনে যোগ করতে পারেন যাতে অন্যান্য ইউজারদের দ্বারা এফেক্টেড না হয়।

তথ্যের জন্য জানানো যাক, যেহেতু আমরা বিষয়টি গভীরভাবে আলোচনা করছি। System Variables User Variables-এর আগে ইভ্যালুয়েট হয়। তাই যদি কিছু ইউজার ভেরিয়েবল থাকে সিস্টেম ভেরিয়েবলের মতো একই নামে তবে ইউজার ভেরিয়েবলগুলো বিবেচিত হবে। Path ভেরিয়েবল ভিন্নভাবে জেনারেট হয়। ইফেক্টিভ Path হবে User Path ভেরিয়েবল অ্যাপেন্ড করা System Path ভেরিয়েবলের সাথে। তাই এন্ট্রির অর্ডার হবে সিস্টেম এন্ট্রিগুলো পরে ইউজার এন্ট্রিগুলো।

Environment Variables কীভাবে অ্যাড ও মডিফাই করবেন

গভীরে যাওয়ার আগে একটি ছোট সতর্কতা। একটি সিস্টেম রিস্টোর পয়েন্ট তৈরি করুন, এবং আপনার সিস্টেমের জন্য কনফিগার করা বিদ্যমান সেটিংসের সাথে ছেড়ছாட করা উচিত নয়। যতক্ষণ না আপনি আপনার অ্যাকশন সম্পর্কে খুব নিশ্চিত হন। 'Environment Variables' উইন্ডো খোলার জন্য এই ধাপগুলো অনুসরণ করুন:

  1. 'This PC' আইকনে রাইট-ক্লিক করুন এবং 'Properties' সিলেক্ট করুন।
  2. এই উইন্ডোতে বাম পাশ থেকে 'Advanced System Settings' সিলেক্ট করুন।
  3. শেষ বাটন 'Environment Variables'-এ ক্লিক করুন আমাদের লক্ষ্যমাত্রা উইন্ডো খোলার জন্য।

Windows 11/10-এ System এবং User Environment Variables ব্যাখ্যা

এই উইন্ডো খুললে, আপনি User এবং System ভেরিয়েবল আলাদা আলাদা দেখতে পারবেন। ভেরিয়েবল নাম প্রথম কলামে এবং এর ভ্যালু দিতীয় কলামে। টেবিলের নিচের সংশ্লিষ্ট বাটনগুলো আপনাকে এই ভেরিয়েবলগুলো 'Add', 'Edit' এবং 'Delete' করতে দেয়।

Path ভেরিয়েবল ব্যবহার করা

Path সবচেয়ে বেশি ব্যবহৃত এনভায়রনমেন্ট ভেরিয়েবল। যেমন আমি উল্লেখ করেছি, এটি এক্সিকিউটেবল ফাইল থাকা ডিরেক্টরিগুলোকে পয়েন্ট করে। একবার আপনি সঠিকভাবে আপনার Path ভেরিয়েবল সেটআপ করলে, আপনি এই এক্সিকিউটেবলগুলো সিস্টেমের যেকোনো জায়গা থেকে ব্যবহার করতে পারবেন। একটি উদাহরণ দিয়ে বুঝতে চেষ্টা করি। Environment variables উইন্ডো খুলুন এবং সিস্টেম ভেরিয়েবলগুলোর মধ্যে 'Path' খুঁজুন।

Windows 11/10-এ System এবং User Environment Variables ব্যাখ্যা

'Edit'-এ ক্লিক করুন এবং তারপর অন্য কন্ট্রোলগুলো ছেড়ে 'New'-এ ক্লিক করুন। এখন ব্রাউজ করুন এবং আপনার বাঞ্ছিত এক্সিকিউটেবল ফাইল থাকা ফোল্ডারটি সিলেক্ট করুন। 'Ok'-এ ক্লিক করুন এবং সবকিছু সংরক্ষণ করুন। আমি 'Visual Studio Code' এক্সিকিউটেবল পথে যোগ করলাম।

Windows 11/10-এ System এবং User Environment Variables ব্যাখ্যা

এখন আপনার অ্যাপ্লিকেশন রান করতে, Command Prompt খুলুন এবং এক্সিকিউটেবল ফাইলের নাম টাইপ করুন যা ফোল্ডারটি তে ছিল। আপনি প্রোগ্রাম সাপোর্ট করলে অতিরিক্ত আর্গুমেন্ট দিতে পারেন। প্রোগ্রাম কমান্ড প্রম্পট থেকে রান হবে সেটি যে ডিরেক্টরি থেকে আপনি কমান্ড এক্সিকিউট করেছেন সেটি না হয়ে। এটিই Path ভেরিয়েবল-এর সৌন্দর্য।

সব Environment Variables-এর তালিকা

Command Prompt খুলুন এবং 'SET' টাইপ করুন এবং Enter চাপুন। ভেরিয়েবলগুলোর পুরো তালিকা তাদের বর্তমান ভ্যালুসহ দেখাবে এবং আপনি আপনার কম্পিউটারে পরিবর্তন করার জন্য সেটি রেফার করতে পারেন।

Dynamic Environment Variables

কনভেনশনাল ভেরিয়েবলদের বিপরীতে, ডাইনামিক এনভায়রনমেন্ট ভেরিয়েবলগুলো CMD দ্বারা প্রদত্ত, সিস্টেম দ্বারা নয়। আপনি এই ভেরিয়েবলদের ভ্যালু পরিবর্তন করতে পারবেন না এবং কোয়েরি করার সময় ये বিভিন্ন ডিসক্রিট ভ্যালুতে এক্সপ্যান্ড করে। আমরা সাধারণত এই ভেরিয়েবলগুলো ব্যাচ প্রসেসিংয়ের জন্য ব্যবহার করি এবং এগুলো এনভায়রনমেন্টে স্টোরড নয়। এমনকি 'SET' কমান্ডও এই ভেরিয়েবলগুলো রিভিল করে না। কিছু ডাইনামিক এনভায়রনমেন্ট ভেরিয়েবল নিচে লিস্ট করা হলো।

পড়ুন: How to add Environment Variables to Context Menu.

Windows 11/10-এ এনভায়রনমেন্ট ভেরিয়েবলগুলো তালিকা

%APPDATA% – C:\Users\<username>\AppData\Roaming

%ALLUSERSPROFILE% – C:\ProgramData

%CD% – এই কমান্ড টাইপ করলে আপনি যে করেন্ট ডিরেক্টরিতে কাজ করছেন সেটি দেবে।

%COMMONPROGRAMFILES% – C:\Program Files\Common Files

%COMMONPROGRAMFILES(x86)% – C:\Program Files (x86)\Common Files

%COMMONPRGRAMW6432% – C:\Program Files\Common Files

%CMDEXTVERSION% – এই ভেরিয়েবল কমান্ড-লাইন এক্সটেনশনের ভার্সনে এক্সপ্যান্ড করে।

%COMSPEC% – C:\Windows\System32\cmd.exe

%DATE%: – এই ভেরিয়েবল ডেট ফরম্যাট প্রেফারেন্স অনুযায়ী বর্তমান তারিখ দেবে।

%ERRORLEVEL% – লাস্ট এক্সিকিউট করা কমান্ড দ্বারা সেট করা এরর লেভেল নির্ধারণ করে।

%HOMEDRIVE% – C:\

%HOMEPATH% -C:\Users\<username>

%LOCALAPPDATA% – C:\Users\<username>\AppData\Local

%LOGONSERVER% – \\<domain_logon_server>

%PATH% – C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem

%PATHEXT% – .com;.exe;.bat;.cmd;.vbs;.vbe;.js;.jse;.wsf;.wsh;.msc

%PROGRAMDATA% – C:\ProgramData

%PROGRAMFILES% – C:\Program Files

%PROGRAMW6432% – C:\Program Files

%PROGRAMFILES(X86)% – C:\Program Files (x86)

%PROMPT% – $P$G

%SYSTEMDRIVE% – C:

%SYSTEMROOT% – C:\Windows

%TIME% – একইভাবে, এটি টাইম ফরম্যাট প্রেফারেন্স অনুযায়ী বর্তমান সময় দেবে।

%TMP% – C:\Users\<username>\AppData\Local\Temp

%TEMP% – C:\Users\<username>\AppData\Local\Temp

%USERNAME% – <username>

%USERPROFILE% – C:\Users\<username>

%USERDOMAIN% – বর্তমান ইউজারের সাথে asoshiated userdomain।

%USERDOMAIN_ROAMINGPROFILE% – রোমিং প্রোফাইলের সাথে asoshiated userdomain।

%WINDIR% – C:\Windows

%PUBLIC% – C:\Users\Public

%PSMODULEPATH% – %SystemRoot%\system32\WindowsPowerShell\v1.0\Modules\

%ONEDRIVE% – C:\Users\<username>\OneDrive

%DRVERDATA% – C:\Windows\System32\Drivers\DriverData

%CMDCMDLINE% – বর্তমান Command Prompt সেশন চালু করতে ব্যবহৃত কমান্ড লাইন আউটপুট করে। (Command Prompt.)

%COMPUTERNAME% -সিস্টেমের নাম আউটপুট করে।

%PROCESSOR_REVISION% – প্রসেসর রিভিশন আউটপুট করে।

%PROCESSOR_IDENTIFIER% – প্রসেসর আইডেন্টিফায়ার আউটপুট করে।

%PROCESSOR_LEVEL% – প্রসেসর লেভেল আউটপুট করে।

%RANDOM% – এই ভেরিয়েবল ০ থেকে ৩২৭৬৭ পর্যন্ত একটি র‍্যান্ডম নম্বর প্রিন্ট করে

%NUMBER_OF_PROCESSORS% – ফিজিক্যাল এবং ভার্চুয়াল কোরের সংখ্যা আউটপুট করে।

%OS% – Windows_NT

এটেই ছিল প্রায় সকল System and User Environment Variables Windows-এ। Windows আরও অনেক ভেরিয়েবল নিয়ে আসে – 'SET' কমান্ড ব্যবহার করে সেগুলো চেক করা ভুলবেন না।

টিপ: Rapid Environment Editor Windows-এ একটি পাওয়ারফুল Environment Variables Editor।

Windows 11/10-এ System এবং User Environment Variables ব্যাখ্যা
  1. Windows 11/10-এ পুরনো ইউজার প্রোফাইল ও ফাইল অটোমেটিক্যালি ডিলিট করার পদ্ধতি

  2. উইন্ডোজ ১১/১০-এ সিস্টেম রিস্টোর 0x800700b7 সমাধান

  3. উইন্ডোজ ১১/১০-এ সিস্টেম রিস্টোর 0x800700b7 সমাধান

  4. Windows 11/10-এ Reserved Storage ব্যাখ্যা