ওএস স্তর কনফিগারেশন থেকে পরিবেশের পরিবর্তনশীল অপসারণের জন্য কমান্ড লাইন


182

উইন্ডোজ setxকমান্ড আছে:

Description:
    Creates or modifies environment variables in the user or system
    environment.

সুতরাং আপনি এই মত একটি ভেরিয়েবল সেট করতে পারেন:

setx FOOBAR 1

এবং আপনি এর মতো মানটি সাফ করতে পারেন:

setx FOOBAR ""

তবে ভেরিয়েবল মুছে ফেলা হয় না। এটি রেজিস্ট্রিতে থাকে:

FOOBAR

সুতরাং আপনি কিভাবে পরিবর্তনশীল অপসারণ করবেন?


3
setx কেবল ভেরিয়েবল সেট করে। আপনি কেবল এই লাইনের সাথে এটি ফাঁকা করছেন।
ফক্স উইলসন


যেহেতু এটি আমার কাছে মোটামুটি পরিমাণে খনন করেছে, তাই নন-কমান্ড লাইন বিকল্পগুলির জন্য সুপারসার / কুইক / 297979/46834 দেখুন ।
গ্যারি

উত্তর:


217

বর্তমান পরিবেশ থেকে পরিবর্তনশীল অপসারণ করতে ( স্থায়ীভাবে নয় ):

set FOOBAR=

ব্যবহারকারীর পরিবেশ থেকে স্থায়ীভাবে ভেরিয়েবল অপসারণ করতে (এটিই ডিফল্ট স্থান setxএটি রাখে):

REG delete HKCU\Environment /F /V FOOBAR

অ্যাডমিনিস্ট্রেটর চালিত হিসাবে যদি সিস্টেমের পরিবেশে ভেরিয়েবল সেট করা থাকে (যেমন আপনি যদি এটির সাথে প্রাথমিকভাবে সেট করেন setx /M))

REG delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /F /V FOOBAR

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


1
এই সমাধানটি কাজ করছে বলে মনে হচ্ছে না - বা আমি কিছু বেসিক ভুল বুঝছি। আমি কি setx JUNK Hello। নতুন সেন্টিমিডি খুলুন। টাইপ echo %JUNK%এবং পেতে Hello। তারপরে আমি তা করি REG delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /F /V JUNKএবং নিশ্চিত করুন যে মানটি রেজিস্ট্রি থেকে গেছে। আমি নতুন সেন্টিমিডি খুলি এবং টাইপ করে echo %JUNK%এখনও পাই Hello। রেজিস্ট্রি অনুসন্ধান 'জাঙ্ক' এর উপস্থিতি দেখায় না। আপনার একটি রিবুট প্রয়োজন দয়া করে আমাকে বলবেন না!
caasjj

উত্তরের জন্য ধন্যবাদ. আমি স্টার্ট মেনু থেকে একটি নতুন কমান্ড উইন্ডো খুলছি। আমি কমান্ডের উভয় সংস্করণ চেষ্টা করেছি। আসলে, আমি যখন প্রথম userপরিবেশ কমান্ডটি টাইপ করি তখন এটি সফল হয়। তারপরে, আমি যখন কমান্ডটি টাইপ করি তখনই পেতাম The system was unable to find the specified registry or key value। এছাড়াও, JUNKরেজিস্ট্রিটির জন্য একটি বিশ্বব্যাপী অনুসন্ধানের জন্য regeditকিছুই নেই। তবুও, যখন আমি একটি নতুন কমান্ড উইন্ডো খুলি (স্টার্ট / আনুষাঙ্গিকগুলির মাধ্যমে, বা রানায় cmd.exe মাধ্যমে) এবং টাইপ করি echo %JUNK%তখন মানটি এখনও সেখানে থাকে!
caasjj

1
আহ! আপনি কি ভাবেন যৌক্তিক এটির জন্য ?? আমি সর্বদা যথাসম্ভব অ্যাডমিনকে এড়িয়ে চলি - ইউনিক্স / বিএসডি / লিনাক্স উত্থাপন। দুর্দান্ত পরিশ্রমের জন্য ধন্যবাদ এক মিল +1
caasjj

4
সম্ভবত এটি কেবল শব্দার্থক, তবে মুছে ফেলা (রেজিস্ট্রি থেকে) অবিলম্বে কার্যকর হয়। আপনি আবার লগ ইন না করা পর্যন্ত পরিবেশটি নিবন্ধ থেকে পুনরায় আরম্ভ করা হবে না। আপনি এটি বর্তমান পরিবেশ থেকে অপসারণের জন্য 2 টি কমান্ড একত্রিত করতে পারেন (এটি SETএটি পরবর্তী সেন্টিমিডি শেলের জন্য তালিকা থেকে সরিয়ে ফেলবে ) এবং তারপরে এটি রেজিস্ট্রি থেকে সরিয়ে ফেলুন, যেমন:SETX FOOBAR "" & REG delete HKCU\Environment /F /V FOOBAR
লুক

1
রিবুট ছাড়াই পরিবেশটি আপডেট হওয়া মনে হচ্ছে না কারণ এক্সপ্লোরার এক্সেক্স জানেন না যে এটি আপডেট হয়েছে। সম্পূর্ণ ব্যাখ্যা এবং সমাধানের জন্য আমার উত্তর দেখুন।
জেমি 21

72

চলমান কমান্ড সেশন থেকে স্থায়ীভাবে অপসারণ না করে ভেরিয়েবলটি সরাতে নিয়মিত অন্তর্নির্মিত setকমান্ডটি ব্যবহার করুন - সমান চিহ্নের পরে কিছুই রাখবেন না:

set FOOBAR=

নিশ্চিত করতে, setকোনও যুক্তি ছাড়াই চালান এবং বর্তমান পরিবেশটি পরীক্ষা করুন। ভেরিয়েবল সম্পূর্ণ তালিকা থেকে নিখোঁজ হওয়া উচিত।

দ্রষ্টব্য : এটি কেবলমাত্র বর্তমান পরিবেশ থেকে পরিবর্তনশীল সরিয়ে ফেলবে - এটি রেজিস্ট্রিতে পরিবর্তনটি স্থির রাখবে না। যখন নতুন কমান্ড প্রক্রিয়া শুরু হবে, ভেরিয়েবলটি ফিরে আসবে।


77
এটি অবশ্যই উত্তর নয়, এবং আমার মনে হচ্ছে এটির বিড়বিড় করে মনে হচ্ছে যে অনেকগুলি ভোট রয়েছে। এটি কেবল বর্তমান কমান্ড সেশনের জন্য কার্যকর। একটি নতুন কমান্ড উইন্ডো ক্র্যাঙ্ক করুন, এবং ভেরি ফিরে এসেছে।
joescii

6
@ Joescii আপনি কি অবাক হন? এটি প্রশ্নের শিরোনামে প্রশ্নের উত্তর দিয়েছে। সুতরাং স্পষ্টতই প্রশ্নের শিরোনামটি আরও নির্দিষ্ট হওয়া দরকার।
ওবরলিস

10
@ জব্রিলিস আমি অসম্মত যে এটি শিরোনামে প্রশ্নের উত্তর দিয়েছে, কারণ এটি ওএস-স্তরে কাজ করে না, তবে কেবল বর্তমান কমান্ড উইন্ডোতে। দ্বিতীয়ত, আপনার বক্তব্যটি পরামর্শ দেয় যে প্রশ্নের বিবরণ অংশটি অপ্রাসঙ্গিক।
জোকসেই

3
দুর্ভাগ্যক্রমে সম্পাদনাটি সম্ভবত কৌশলটি সম্পন্ন করেছে বলে মনে হচ্ছে না - এটি এখনও উত্সাহ পাচ্ছে। আমার ধারণা, প্রকৃত প্রশ্নের উত্তর না দিলেও লোকেরা এটি দরকারী বলে মনে করে, যে ক্ষেত্রে এটি সম্ভবত উপাখ্যানগুলির অধিকারী (এটি কি?)। কমপক্ষে এটি স্বীকৃত হিসাবে চিহ্নিত করা হয়নি, যা বিভ্রান্তিকর হবে।
কাপউনটাই

3
আমার কেন মন্তব্য করা উচিত তা আমি কম বলেছি। অবশ্যই এটি বর্তমান সেশনে কাজ করে।
ইয়ান গ্রেনার

22

এটি বেশ কিছুটা আচ্ছাদিত করা হয়েছে তবে তথ্যের এক গুরুত্বপূর্ণ অংশটি এটি অনুপস্থিত। আশা করি, আমি কীভাবে এটি কাজ করে তা পরিষ্কার করতে এবং ক্লান্ত ভ্রমণকারীদের কিছুটা স্বস্তি দিতে সহায়তা করতে পারি। :-)

বর্তমান প্রক্রিয়া থেকে মুছুন

স্পষ্টতই, সবাই জানে যে আপনি আপনার বর্তমান প্রক্রিয়া থেকে পরিবেশের পরিবর্তনশীল মুছতে কেবল এটি করেন:

set FOO=

ক্রমাগত মুছুন

সিস্টেম-ওয়াইড এবং ব্যবহারকারী দুটি পরিবেশের ভেরিয়েবলের সেট রয়েছে।

ব্যবহারকারীর পরিবেশ পরিবর্তনযোগ্য মুছুন:

reg delete "HKCU\Environment" /v FOO /f

সিস্টেম-ওয়াইড পরিবেশ পরিবর্তনযোগ্য মুছুন:

REG delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /F /V FOO

রিবুট না করে মান প্রয়োগ করুন

এখানে যে যাদু তথ্য রয়েছে তা এখানে! আপনি ভাবছেন কেন আপনি এটি করার পরে যখন আপনি একটি নতুন কমান্ড উইন্ডো চালু করবেন তখন পরিবেশের পরিবর্তনশীলটি এখনও সেখানে রয়েছে। কারণ হ'ল এক্সপ্লোরার.আর.সি. এর পরিবেশ আপডেট হয়নি। যখন একটি প্রক্রিয়া আরেকটি প্রবর্তন করে, নতুন প্রক্রিয়া পরিবেশটি উত্তোলন করে যে প্রক্রিয়াটি এটি প্রবর্তন করে।

পুনরায় বুট না করে এটিকে ঠিক করার দুটি উপায় রয়েছে। সর্বাধিক নিষ্ঠুর শক্তি হ'ল আপনার এক্সপ্লোরার। এক্স এক্স প্রক্রিয়াটিকে মেরে ফেলা এবং এটি আবার শুরু করা। আপনি এটি টাস্ক ম্যানেজার থেকে করতে পারেন । আমি তবে এই পদ্ধতির প্রস্তাব দিই না।

অন্য উপায়টি হল এক্সপ্লোরার এক্সেক্সকে জানিয়ে দেওয়া যে পরিবেশটি পরিবর্তিত হয়েছে এবং এটি আবার পড়তে হবে। এটি একটি উইন্ডোজ বার্তা সম্প্রচারের মাধ্যমে করা হয় (WM_SETTINGCHANGE)। এটি একটি সাধারণ পাওয়ারশেল স্ক্রিপ্টের সাহায্যে সম্পন্ন করা যায়। এটি করার জন্য আপনি সহজেই একটি লিখতে পারেন, তবে আমি স্ক্রিপ্টযুক্ত পরিবর্তনের পরে উইন্ডো সেটিংস আপডেটে একটি পেয়েছি :

if (-not ("win32.nativemethods" -as [type])) {
    add-type -Namespace Win32 -Name NativeMethods -MemberDefinition @"
        [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
        public static extern IntPtr SendMessageTimeout(
            IntPtr hWnd, uint Msg, UIntPtr wParam, string lParam,
            uint fuFlags, uint uTimeout, out UIntPtr lpdwResult);
        "@
}

$HWND_BROADCAST = [intptr]0xffff;
$WM_SETTINGCHANGE = 0x1a;
$result = [uintptr]::zero

[win32.nativemethods]::SendMessageTimeout($HWND_BROADCAST, $WM_SETTINGCHANGE,[uintptr]::Zero, "Environment", 2, 5000, [ref]$result);

সারসংক্ষেপ

সুতরাং "এফইউ" নামের একটি ব্যবহারকারী পরিবেশ পরিবর্তনশীল মুছতে এবং আপনার পরে প্রবর্তন করা প্রক্রিয়াগুলিতে পরিবর্তনটি প্রতিবিম্বিত করতে, নিম্নলিখিতটি করুন।

  1. পাওয়ারশেল স্ক্রিপ্টটি একটি ফাইলে সংরক্ষণ করুন (আমরা এটিকে আপডেটেনভিপিএস 1 বলব)।
  2. কমান্ড লাইন থেকে এটি করুন: "HKCU \ পরিবেশ" / v FOO / f মুছে ফেলুন
  3. Updateenv.ps1 চালান।
  4. আপনার কমান্ড প্রম্পটটি বন্ধ করুন এবং পুনরায় খুলুন এবং আপনি দেখতে পাবেন যে পরিবেশের ভেরিয়েবলটি আর সংজ্ঞায়িত হয়নি।

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


এক্সপ্লোরারকে হত্যা এবং পুনরায় চালু করার প্রস্তাব না দেওয়ার কোনও বিশেষ কারণ রয়েছে কি? আমি সব সময় এটা।
প্রমিথিউস

ঠিক আছে, দুটি মনে আছে যা প্রথমে মনে আসে। প্রথমটি হ'ল জোর করে হত্যা প্রক্রিয়া মেমরি ফাঁস হতে পারে। হ্যাঁ, প্রক্রিয়াগুলি বালি-বাক্স হওয়ার কথা, তবে এমনকি উইন্ডোজ টাস্ক ম্যানেজার আপনাকে এটিকে হালকাভাবে না করার সতর্ক করে। অন্য আরও ব্যক্তিগত কারণ হ'ল আমার ওসিডি। আপনি যখন এক্সপ্লোরারকে মেরে ফিরুন এবং পুনঃসূচনা করবেন তখন আপনার সমস্ত আইকন টাস্ক বারে ডাউন ডুপ্লিকেট সহ যখন আপনি একটিতে ক্লিক করেন, পুনরায় সাজানো হয়। আমি আমার আইকনগুলিতে যে জিনিসগুলিতে জিনিসগুলি খোলার চেষ্টা করেছি
জেমি

1
কি দারুন. আমি যে ম্যাজিক কমান্ডটি সন্ধান করেছি তা source .bashrcউইন্ডোজে (বা তার কাজিন্স) মতো কাজ করে । এটি আমার জন্য "রেফার-টু-এই" লাইনের শীর্ষে যায়।
bবলldave025

18

পাওয়ারশেল থেকে আপনি। নেট [System.Environment]::SetEnvironmentVariable()পদ্ধতি ব্যবহার করতে পারেন :

  • নামের একটি ব্যবহারকারী পরিবেশ পরিবর্তনশীল অপসারণ করতে FOO:

    [Environment]::SetEnvironmentVariable('FOO', $null, 'User')
    

নোট যে ভেরিয়েবল অপসারণ$null করার অভিপ্রায়টি আরও ভালভাবে সংকেত করতে ব্যবহৃত হয় , যদিও প্রযুক্তিগতভাবে এটি কার্যকরভাবে এই ক্ষেত্রে পাসের সমান ।''

  • নামের একটি সিস্টেম (মেশিন-স্তর) এনভায়রনমেন্ট ভেরিয়েবল অপসারণ করতে FOO- উন্নয়নের প্রয়োজন (প্রশাসক হিসাবে চালানো আবশ্যক):

    [Environment]::SetEnvironmentVariable('FOO', $null, 'Machine')
    

দ্রুত সম্পাদন reg.exeবাদে , ভিত্তিযুক্ত পদ্ধতির সুবিধাটি হ'ল অন্যান্য অ্যাপ্লিকেশনগুলি একটি WM_SETTINGCHANGEবার্তার মাধ্যমে পরিবর্তনের বিষয়ে অবহিত হয় (যদিও সমস্ত অ্যাপ্লিকেশন সেই বার্তাটি শোনেনি)।


2
এটি এখানে সেরা উত্তর।
জেমস

1
এই পদ্ধতিটি রিবুট করার প্রয়োজনীয়তা এড়ায়। কি সুন্দর সমাধান!
jyao

13

আমি সম্মত CupawnTae সঙ্গে

SET মাস্টার পরিবেশে পরিবর্তনের জন্য কার্যকর নয়।

এফওয়াইআই: সিস্টেম ভেরিয়েবলগুলি HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment(ব্যবহারকারীর বারের চেয়ে ভাল লম্বা লম্বা)।

FOOBAR নামের সিস্টেমের সম্পূর্ণ কমান্ডটি হ'ল:

REG delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /F /V FOOBAR

(স্থানটি পরিচালনা করার জন্য প্রয়োজনীয় উদ্ধৃতিগুলি নোট করুন))

এটি খুব খারাপ যে setxকমান্ড একটি মুছার সিনট্যাক্স সমর্থন করে না। :(

পিএস: দায়বদ্ধভাবে ব্যবহার করুন - আপনি যদি আপনার পথের পরিবর্তনশীলটিকে হত্যা করেন তবে আমাকে দোষ দেবেন না!


@ সিএমসিডিগ্রাগনকাই যা মূল প্রশ্নে স্পষ্টভাবে উল্লেখ করেছে - এটি রেজিস্ট্রি এন্ট্রি সরিয়ে দেয় না, এটি কেবল ফাঁকা করে দেয়। আসল প্রশ্ন হ'ল এটি কীভাবে রেজিস্ট্রি থেকে সরিয়ে ফেলা যায়
কাপউনটাই

1
আমি কেবল যুক্ত করব যে এটি কার্যকর হওয়ার আগে আপনাকে পুনরায় চালু / রিফ্রেশ করার প্রয়োজন হতে পারে।
jiggunjer

@ জিগগুনজার, রিফ্রেশ কীভাবে?
পেসারিয়ার

@ পেসারিয়র কেবল একটি নতুন টার্মিনাল খুলুন।
jiggunjer

11

ডগওয়ারের উত্তরের কমান্ড কার্যকর হয়নি, তবে এটি করেছে:

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

শর্টকাট HKLMজন্য ব্যবহার করা যেতে পারে HKEY_LOCAL_MACHINE


1
এছাড়াও, ব্যবহারকারীর পরিবেশের ভেরিয়েবলগুলি "HKCU \ পরিবেশ" এর অধীনে রয়েছে
tzrlk

1
@ তজরলক, অমিলের কারণ কী? কেন এটি এইচকেএলএম \ পরিবেশে নেই?
পেসারিয়ার

@ পেসারিয়র: কেন তারা এগুলিকে পৃথক পৃথক স্থানে রেখেছিল তা আমার কোনও ধারণা নেই তবে আপনি যদি নিশ্চিত করতে চান যে আপনি / উভয়ই সিস্টেম বা / এবং ব্যবহারকারীর ভেরিয়েবলগুলি মুছে ফেলেছেন তবে এটি জানতে সহায়তা করে যে তারা সম্পূর্ণ আলাদা জায়গা.
tzrlk

2
@ টিজারলক, উইন্ডোজের পক্ষে আবার কিছু স্ক্রুযুক্ত ডিজাইন থাকতে হবে।
পেসারিয়ার

4

পুনরায় বুট না করে মুছুন

পাওয়ারের শেল, ভিবিএসক্রিপ্টের মাধ্যমে কীভাবে রিবুট করা এড়াতে হবে বা আপনি নামটি দিয়েছিলেন সে সম্পর্কিত ওপি-র প্রশ্নের প্রকৃতপক্ষে ব্যাপকভাবে উত্তর দেওয়া হয়েছে।

তবে, যদি আপনার কেবলমাত্র সিএমডি কমান্ডগুলিতে লেগে থাকতে হয় এবং পাওয়ারশেল বা ভিএসক্রিপ্ট কল করতে সক্ষম হওয়ার বিলাসিতা না থাকে তবে আপনি নিম্নলিখিত পদ্ধতিটি ব্যবহার করতে পারেন:

rem remove from current cmd instance
  SET FOOBAR=
rem remove from the registry if it's a user variable
  REG delete HKCU\Environment /F /V FOOBAR
rem remove from the registry if it's a system variable
  REG delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /F /V FOOBAR
rem tell Explorer.exe to reload the environment from the registry
  SETX DUMMY ""
rem remove the dummy
  REG delete HKCU\Environment /F /V DUMMY

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

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

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


3
setx FOOBAR ""

কেবল FOOBAR এর মান একটি নাল স্ট্রিং হয়ে যায়। (যদিও এটি setকমান্ডটি "" সহ দেখায় তাই ডাবল-কোটগুলি স্ট্রিং।

আমি ব্যবহার করতাম:

set FOOBAR=

এবং তারপরে FOOBAR আর সেট কমান্ডে তালিকাভুক্ত ছিল না। (লগ-অফের প্রয়োজন ছিল না))

উইন্ডোজ 7 32 বিট, কমান্ড প্রম্পটটি ব্যবহার করে, নন-অ্যাডমিনিস্ট্রেটর আমি ব্যবহার করেছি। (সেন্টিমিটার বা Windows+ নয় R, যা আলাদা হতে পারে))

বিটিডাব্লু, আমি তৈরি করার পরে রেজিস্ট্রিতে আমি যে কোনও স্থানে ভেরিয়েবল তৈরি করেছি তা দেখতে পেলাম না। আমি প্রশাসক হিসাবে না RegEdit ব্যবহার করছি ।


1

আপনি একটি ছোট ভিবিএস স্ক্রিপ্টও তৈরি করতে পারেন :

Set env = CreateObject("WScript.Shell").Environment("System")
If env(WScript.Arguments(0)) <> vbNullString Then env.Remove WScript.Arguments(0)

তারপরে এটিকে ফোন করুন %windir%\System32\cscript.exe //Nologo "script_name.vbs" FOOBAR

অসুবিধাটি হ'ল আপনার একটি অতিরিক্ত স্ক্রিপ্ট দরকার তবে এটি পুনরায় বুটের প্রয়োজন হয় না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.