نحوه استفاده از متغیرهای محیطی CMD ویندوز


لوگوی ویندوز 10 و 11

اضافه کردن یا تغییر یک متغیر محیطی با استفاده از Command Prompt (CMD) آسان است، اما حذف یک متغیر پیچیده تر است. در اینجا چند روش مختلف برای انجام این کار آورده شده است.

چگونه یک متغیر محیطی را اضافه یا تغییر دهیم

ابتدا باید Command Prompt یا CMD را به عنوان مدیر اجرا کنید. روی Start کلیک کنید، “cmd” را در کادر جستجو تایپ کنید و سپس روی Run as administrator کلیک کنید.

کلیک "به عنوان مدیر اجرا شود."

قابل توجه: هر متغیر محیطی که در پنجره معمولی Command Prompt استفاده می شود را می توان تنظیم یا تغییر داد، اما تغییر متغیرهای محیطی در سراسر سیستم به یک Command Prompt بالا نیاز دارد.

دو روش متمایز برای تنظیم متغیرهای محیطی وجود دارد.

تنظیم موقت یک متغیر محیطی

اولی از دستور set استفاده می کند. مجموعه، متغیر محیطی را منحصراً در فرآیندی که از طریق آن تعریف شده است، تعریف می کند – به عبارت دیگر، متغیر فقط در پنجره ای که آن را باز کرده اید یا در اسکریپتی که حاوی آن است کار می کند.

این یک مثال است: فرض کنید می خواهید یک متغیر محیطی به نام LifeAnswerVar ایجاد کنید و مقدار آن را ۴۲ تنظیم کنید. set LifeAnswerVar=42.

در حالی که این پنجره باز است، مقدار LifeAnswerVar 42 خواهد بود.

خط فرمان با مجموعه مادام العمر = 42

وقتی بسته می شود، متغیر محیطی و مقدار آن حذف می شود.

پنجره CMD جدید با LifeAnswerVar تعریف نشده.

اگر بخواهید یک متغیر سیستم ویندوز موجود را به طور موقت تغییر دهید، دقیقاً همان روش کار می کند. تنها کاری که باید انجام دهید این است که متغیر سیستمی را که می خواهید تغییر دهید با LifeAnswerVar و مقداری که می خواهید به جای ۴۲ تنظیم کنید جایگزین کنید.

به عنوان مثال، اگر می خواهید پوشه TMP را به C: \ Example Folder منتقل کنید، دستور را وارد کنید. set TMP=C:\"Example Folder".

فولد TMP به پوشه نمونه منتقل شد

خط اول set TMP، مقدار فعلی TMP را نشان می دهد. خط دوم TMP را یک مقدار جدید تنظیم می کند. خط سوم تأیید می کند که تغییر کرده است.

تنظیم دائمی متغیر محیط

روش دوم از setx استفاده می کند. Setx به طور دائم متغیرهای محیط ویندوز را تنظیم می کند. بین ویندوز و بین راه اندازی مجدد باقی می ماند و در رجیستری ویندوز نوشته می شود. این متغیرهای محیطی را می توان برای یک کاربر خاص تعریف کرد، یا می توان آنها را برای استفاده در کل سیستم تعریف کرد.

آن بالا است setx ExVar1 Tomato /m یک متغیر محیطی جدید به نام ExVar1 ایجاد می کند و آن را روی “Tomato” تنظیم می کند. آرگومان /m مشخص می کند که متغیر جدید باید در کل سیستم باشد، نه فقط برای کاربر فعلی.

ExVar1 در خط فرمان تعریف شده است

دقیقاً از همین دستور برای تغییر متغیر محیطی موجود استفاده کنید و نام متغیری را که می خواهید تغییر دهید جایگزین ExVar1 کنید.

قابل توجه: اگر از setx برای تغییر یک متغیر استفاده کنید و آن را طوری تنظیم کنید که مقدار متغیر را نمایش دهد، تا زمانی که یک پنجره Command Prompt جدید باز نشود، مجموعه مقدار صحیح را نمایش نمی دهد.

اگر می خواهید یک متغیر محیط کاربری را اضافه یا تغییر دهید، فقط آرگومان /m را از دستور حذف کنید.

نحوه حذف متغیر محیطی

حذف یک متغیر محیطی کمی دشوارتر از افزودن یا اصلاح یک متغیر است.

قابل توجه: مانند افزودن یک متغیر، هر متغیر محیطی که در پنجره خط فرمان معمولی استفاده می‌شود را می‌توان حذف کرد، اما حذف یک متغیر محیطی در سراسر سیستم به یک Command Prompt بالا نیاز دارد.

متغیر محیطی را به طور موقت حذف کنید

اگر می خواهید به طور موقت یک متغیر محیطی را برای فرآیند فعلی حذف کنید، مانند یک اسکریپت، پنجره PowerShell یا پنجره Command Prompt، می توانید از دستور set استفاده کنید. تنها کاری که باید انجام دهید این است که مقداری را به متغیر اختصاص ندهید.

به عنوان مثال، اگر شما یک تعریف متغیر داشته باشید چه می شود ExVar1=Tomato در متغیرهای محیطی در سراسر سیستم، اما می خواهید آنها را برای یک فرآیند خاص نادیده بگیرید؟ می توانید بنویسید set ExVar1=   در یک خط فرمان یا این خط را در اسکریپت خود قرار دهید. متغیر در حین اجرای اسکریپت یا تا زمانی که یک پنجره Command Prompt جدید باز شود روی هیچ تنظیم می شود.

ExVar1 به طور موقت خالی شده است.

متغیر محیطی را برای همیشه حذف کنید

حذف دائمی یک متغیر محیطی کمی پیچیده تر است – باید از آن استفاده کنید reg برای انجام آن.

هشدار: Reg نسخه خط فرمان ویرایشگر رجیستری است. شما باید با احتیاط ادامه دهید – یک اشتباه املایی می تواند به طور تصادفی چیزی مهم را حذف کند. پشتیبان گیری از بخشی از رجیستری که در حال ویرایش آن هستید، هرگز ضرری ندارد.

متغیرهای محیطی برای تک تک کاربران ذخیره می شوند HKEY_CURRENT_USER\Environment. متغیرهای محیطی در سراسر سیستم در جای دیگری با فرمت . ذخیره می شوند HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment.

استفاده کنیم ExVar1=Tomato مثال. متغیر محیطی ExVar1 در سطح سیستم تعریف شده است، به این معنی که به جای دایرکتوری HKEY_CURRENT_USER در پوشه HKEY_LOCAL_MACHINE قرار دارد. به طور خاص، مسیر زیر کلید به صورت زیر است:

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

قابل توجه: این مسیر حاوی یک فاصله است. هر زمان که در یک مسیر در رابط خط فرمان فضایی وجود دارد، باید از نقل قول ها در اطراف مسیر استفاده کنید، در غیر این صورت به احتمال زیاد به درستی اجرا نمی شود.

حالا باید استفاده کنیم reg delete دستور حذف آن به خاطر داشته باشید که در دستور زیر باید نام متغیر خود را با ExVar1 جایگزین کنید.

reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\" /f /v ExVar1

چیزهای زیادی وجود دارد، پس بیایید کمی آن را تجزیه کنیم.

  • reg delete – برنامه (reg) و دستور (delete) را که استفاده می کنیم را مشخص می کند
  • "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\" – Reg به Delete می گوید کجا به دنبال کلید بگردد
  • /f – به reg delete می گوید که کلید را بدون درخواست تایید حذف کند
  • /v – reg به حذف می گوید که یک کلید فرعی که برای حذف تعریف شده است به آن داده می شود
  • ExVar1 – نام کلید فرعی که می خواهیم حذف کنیم

حذف یک متغیر محیطی برای یک کاربر دقیقاً مشابه حذف یک متغیر در سراسر سیستم است، با این تفاوت که مسیر متفاوت خواهد بود. اگر ExVar1 یک متغیر محیط کاربر باشد، دستور حذف آن به صورت زیر خواهد بود:

reg delete HKEY_CURRENT_USER\Environment /f /v ExVar1

اگر دستور با حذف متغیر محیطی موفق شد، باید در خط فرمان “عملیات با موفقیت انجام شد” را مشاهده کنید.

Reg Delete برای حذف ExVar1 از متغیر محیط کاربر استفاده می شود

هر زمان که یک متغیر محیطی مانند این را حذف می کنید، باید explorer.exe را مجددا راه اندازی کنید. می‌توانید Explorer.exe را به‌صورت دستی راه‌اندازی مجدد کنید، یا فقط می‌توانید کل رایانه شخصی خود را مجدداً راه‌اندازی کنید. هر کدام کار خواهند کرد و تغییرات باید بلافاصله پس از راه اندازی مجدد اعمال شوند.