উইন্ডোতে PATH এনভায়রনমেন্ট ভেরিয়েবলে ডিরেক্টরি যুক্ত করা হচ্ছে


523

আমি যুক্ত করার চেষ্টা করছি C:\xampp\phpPATH উইন্ডোজটিতে আমার সিস্টেমের পরিবেশের পরিবর্তনশীলটিতে করার ।

আমি ইতিমধ্যে পরিবেশ পরিবর্তনশীল ডায়ালগ বক্স ব্যবহার করে এটি যুক্ত করেছি।

তবে যখন আমি আমার কনসোলটি টাইপ করি:

C:\>path

এটি নতুন C:\xampp\phpডিরেক্টরিটি দেখায় না :

PATH=D:\Program Files\Autodesk\Maya2008\bin;C:\Ruby192\bin;C:\WINDOWS\system32;C:\WINDOWS;
C:\WINDOWS\System32\Wbem;C:\PROGRA~1\DISKEE~2\DISKEE~1\;c:\Program Files\Microsoft SQL
Server\90\Tools\binn\;C:\Program Files\QuickTime\QTSystem\;D:\Program Files\TortoiseSVN\bin
;D:\Program Files\Bazaar;C:\Program Files\Android\android-sdk\tools;D:\Program Files\
Microsoft Visual Studio\Common\Tools\WinNT;D:\Program Files\Microsoft Visual Studio\Common
\MSDev98\Bin;D:\Program Files\Microsoft Visual Studio\Common\Tools;D:\Program Files\
Microsoft Visual Studio\VC98\bin

আমার দুটি প্রশ্ন আছে:

  1. এটা কেন হল? আমি কি কিছু ভুল করেছি?
  2. এছাড়াও, আমি কীভাবে PATHকনসোলটি ব্যবহার করে আমার চলকটিতে ডিরেক্টরি যুক্ত করব (এবং প্রোগ্রামগতভাবে, একটি ব্যাচের ফাইল সহ)?

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

1
@ জর্জস্টোকার পর্যালোচনা করার জন্য ধন্যবাদ হ্যাঁ আমি এটি প্রোগ্রামিকভাবে করেছি এবং তবে কনসোল সেশনে পরিবর্তনগুলি প্রয়োগ করার পরে আমার পুনরায় চালু করতে হবে এমন একটি ধারণা আমার কাছে আসেনি। (এবং আমি এটি কেবল আমার ক্ষেত্রে মনে করি) তবে সর্বাধিক ভোট দেওয়া উত্তর সাধারণত প্রশ্নের উত্তর দেয়
নেটোরিকা

1
@ জর্জ - সম্মত, কিন্তু যেমন দাঁড়িয়েছে, এই প্রশ্নটি সুপার ব্যবহারকারীর জন্য লেখা, না স্ট্যাক ওভারফ্লো। সুপার ব্যবহারকারী ব্যক্তিগত ব্যবহারের জন্য ওয়েব সার্ভার কনফিগারেশনগুলিতে সহায়তা সরবরাহ করবে। স্ট্যাক ওভারফ্লো প্রোগ্রামিং প্রশ্নগুলির জন্য।
jww

1
প্রস্থান করুন এবং একটি নতুন কনসোল খুলুন ... আপনি যদি ব্যাশ ব্যবহার করে থাকেন তবে আপনি কীভাবে / কী ব্যবহার করছেন তার উপর নির্ভর করে পরিবর্তনগুলি অবিরত হওয়ার আগে একটি সিস্টেম রিবুট লাগতে পারে ,.
ট্র্যাকার 1

উত্তর:


148

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

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


9
হুম, না, এটি সত্যিই কেবল রেজিস্ট্রি পরিবর্তন করে। কন্ট্রোলটি PATH কমান্ডের সাথে প্রম্পট করার পরিবর্তে কন্ট্রোল প্যানেল ডায়ালগে এটি করা থেকে কিছুটা স্পষ্ট হওয়া উচিত। সিসইন্টার্নালসের প্রসেস মনিটরের সাহায্যে এটি সহজে কী করে তা আপনি পর্যবেক্ষণ করতে পারেন, আপনার যত্ন নেওয়া উচিত। PATH ব্যবহার করা এক নয় , কনসোল বন্ধ হয়ে গেলে আপনার করা পরিবর্তনগুলি নষ্ট হবে। ডায়ালগের মতো অবিচ্ছিন্ন পরিবর্তনগুলি করার জন্য SETX একটি উপায়।
হ্যান্স প্যাস্যান্ট

3
এটা সঠিক। নতুন পরিবেশের ভেরিয়েবলগুলি উঠানোর আগে আপনার কনসোল সেশনটি সর্বদা পুনরায় চালু করতে হবে।
BrainSlugs83

1
যদি WM_SETTINGCHANGEকোনও অ্যাপলিকেশন থেকে বার্তা প্রেরণ করা হয় তবে কনসোল সেশনটি ভেরিয়েবলগুলি আপডেট করবে ? stackoverflow.com/a/8358361
John_West

এটি তাত্ত্বিকভাবে সম্ভব, বাস্তবিক কোনও সিআরটি বাস্তবায়ন আমার জানা নেই এটি এটি করে। এক্সপ্লোরার করে।
হ্যানস প্যাস্যান্ট


958

বিকল্প 1

আপনি পরিবর্তন পরে PATH জিইউআই দিয়ে করার কনসোল উইন্ডোটি বন্ধ করুন এবং পুনরায় খুলুন।

এটি কাজ করে কারণ পরিবর্তনের পরে শুরু হওয়া প্রোগ্রামগুলি নতুন দেখতে পাবে PATH

বিকল্প 2

আপনি যে কমান্ড উইন্ডোটি খুললেন তাতে এই কমান্ডটি কার্যকর করুন:

set PATH=%PATH%;C:\your\path\here\

এই কমান্ডটি C:\your\path\here\বর্তমানের সাথে যুক্ত হয় PATH

এটি ভেঙে দেওয়া:

  • set- একটি কমান্ড যা কেবলমাত্র বর্তমান সিএমডি সেশনের জন্য সেন্টিমিটারের পরিবেশের পরিবর্তনশীলগুলি পরিবর্তন করে ; অন্যান্য প্রোগ্রাম এবং সিস্টেম প্রভাবিত নয়।
  • PATH=- PATHঅস্থায়ীভাবে পরিবর্তিত হওয়ার জন্য পরিবেশের পরিবর্তনশীল তা বোঝায়।
  • %PATH%;C:\your\path\here\- %PATH%অংশটি বর্তমান মানটিতে প্রসারিত হয় PATHএবং ;C:\your\path\here\তারপরে এটি সংমিশ্রিত হয়। এটি নতুন হয়ে যায় PATH

16
@ ইলিয়া: মাই কম্পিউটারে> পথটি পরিবর্তিত হওয়ার পরে আপনার কনসোল উইন্ডোটি খুলতে চাইছিলাম-> বৈশিষ্ট্য-> অ্যাডভান্সড-> এনভ চলক-> পাথ। কিছু উইন্ডো অ্যাপস শুরু হওয়ার পরে পরিবেশ পরিবর্তনশীল পরিবর্তনগুলি প্রচার করবে এবং কিছু তা করবে না। WinXP cmd.exe দেয় না।
জিমআর

7
যদি আমি কনসোল থেকে প্রস্থান করি এবং আমি পুনরায় চালু করি তবে আমাকে পথটি পুনরায় সেট করতে হবে। এই পরিবর্তনকে কীভাবে স্থায়ী করা যায়?
ডেভিড 天宇 ওং

2
@ ডেভিড 天宇 ওয়াং আপনি যদি "মাই কম্পিউটার"> "প্রোপার্টি"> "অ্যাডভান্সড"> "পরিবেশের পরিবর্তনসমূহ"> "পথ" অনুসরণ করেন। এবং স্ট্রিংয়ের শেষে ডিরেক্টরিটি যুক্ত করুন, এটি থাকবে। পরিবর্তনটি করার পরে কনসোলটি খোলার বিষয়ে নিশ্চিত হন।
দ্য বি

হ্যাঁ @ বিবিআরআরভি, সাধারণ কিছু করার কেবল দীর্ঘ পথ long এটি আশ্চর্যের বিষয় যে কনসোলে টাইপ করা যায় এমন কোনও ধ্রুবক কমান্ড নেই
ডেভিড 天宇 ওয়াং

12
@ ডেভিড 天宇 ওয়াং সবেমাত্র পেয়েছেন "এসইটিএক্স ডায়ালগের মতো অবিরাম পরিবর্তন করার একটি উপায়।" সুতরাং SETX কমান্ডটি এটি করা উচিত
TheB3RV

202

সতর্কতা: এই সমাধানটি আপনার পাঠের জন্য এবং আপনার সিস্টেমে স্থিতিশীলতার জন্য ধ্বংসাত্মক হতে পারে । পার্শ্ব প্রতিক্রিয়া হিসাবে, এটি আপনার ব্যবহারকারী এবং সিস্টেমের PATH একীভূত করবে এবং PATH কে 1024 টি অক্ষরে কাটাবে। এই আদেশের প্রভাব অপরিবর্তনীয়। প্রথমে PATH এর ব্যাকআপ নিন। আরও তথ্যের জন্য মন্তব্য দেখুন।

এটিকে অন্ধভাবে অনুলিপি করুন এবং পেস্ট করবেন না। সতর্কতার সাথে ব্যবহার করুন.

আপনি কমান্ডটি সহ স্থায়ীভাবে একটি পথ যুক্ত করতে পারেন :PATHsetx

setx /M path "%path%;C:\your\path\here\"

/Mআপনি যদি PATHসিস্টেমের পরিবর্তে ব্যবহারকারী সেট করতে চান তবে পতাকাটি সরান PATH

মন্তব্য:

  • setxকমান্ডটি কেবল উইন্ডোজ 7 এবং তার পরে পাওয়া যাবে।
  • আপনার এই কমান্ডটি একটি উন্নত কমান্ড প্রম্পট থেকে চালানো উচিত।

  • আপনি যদি কেবল বর্তমান সেশনের জন্য এটি পরিবর্তন করতে চান তবে সেটটি ব্যবহার করুন ।


7
SETX /M path "%path%;C:\Program Files (x86)\Git\bin\"যন্ত্রের স্তরে PATH মান সেট করতে
লু 55

7
এটি কেন এটি গৃহীত উত্তর নয়? আমি কল্পনা করতাম বেশিরভাগ লোক স্থায়ীভাবে তাদের পথ নির্ধারণ করতে চাইবে ...
পিটার গর্ডন


9
সতর্কতা : %PATH%ভেরিয়েবলের ব্যবহারের কারণে , এই কমান্ডটি ব্যবহারকারীদের সাথে বিশ্বব্যাপী এনভির ভেরিয়েবলগুলি একত্রিত করে। তাই না? এটি অবাঞ্ছিত পার্শ্ব প্রতিক্রিয়া তৈরি করতে পারে, বিশেষত / এম সুইচ
এফএফ_দেভ

4
2 সতর্কতা:%PATH% পরিবর্তনশীল যেমন কমান্ডের লঞ্চ প্রম্পটে লোড হয় এবং কখনও পরে পুনরায় লোড এনভায়রনমেন্ট ভেরিয়েবল সাথে সুসংগত নাও হতে পারে (এমনকি যখন setx কমান্ড নির্বাহ)। এছাড়াও এটি পূর্বে সম্পাদিত স্ক্রিপ্টগুলির দ্বারা স্থানীয়ভাবে পরিবর্তিত হতে পারে।
এফএফ_দেব

66

আপনার কোনও setবা setxকমান্ডের দরকার নেই , কেবলমাত্র টার্মিনালটি খুলুন এবং টাইপ করুন:

PATH

এটি PATH ভেরিয়েবলের বর্তমান মান দেখায়। এখন আপনি এটিতে ডিরেক্টরি যুক্ত করতে চান? কেবল টাইপ করুন:

PATH %PATH%;C:\xampp\php

যদি কোনও কারণে আপনি PATH ভেরিয়েবলটি সাফ করতে চান (কোনও পথ নেই বা এতে সমস্ত পাথ মুছতে পারে না), টাইপ করুন:

PATH ;

হালনাগাদ

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

কোনও পরিবেশগত পরিবর্তনশীল রয়েছে কিনা তা পরীক্ষা করতে বা এর মান ECHO কমান্ডটি দেখুন:

echo %YOUR_ENV_VARIABLE%

1
এটি কাজ করেছিল :) কীভাবে! 'পাঠ% পাঠ%;' আমি এটি মনে করতে পারি
ডাস্টিন উডার্ড

12
আমি মনে করি এটি কেবলমাত্র সেন্টিমিডি সেশনের উদাহরণ হিসাবে কাজ করে, স্থায়ীভাবে এটি পরিবর্তন করতে সেটেক্স ব্যবহার করুন
ড্যানিয়েল উইলসন

2
এর সাথে উদ্ধৃতিগুলি অন্তর্ভুক্ত করবেন না । উদাহরণস্বরূপ কল PATH %PATH%;C:\Program Files\...করুনPATH "%PATH%;C:\Program Files\..."
icc97

4
সেটেক্স ব্যবহার করবেন না! আপনি সময় নির্ধারণের সময় কাটিয়েছেন এমন আরও অনেক পথ হারিয়ে আপনার পথের পরিবর্তনশীলকে ছিন্ন করার ঝুঁকি রয়েছে। উপরে সাবধান সতর্কতা।
এসটিউইলসন

1
@ এসএস উইলসন, আপনার মন্তব্যটি দেখতে দেরী!
পশ্চিম ইয়াং

48

আমি এর পরিবর্তে পাওয়ারশেল ব্যবহার করব!

পাওয়ারশেল ব্যবহার করে PATH তে একটি ডিরেক্টরি যুক্ত করতে নিম্নলিখিতগুলি করুন:

$PATH = [Environment]::GetEnvironmentVariable("PATH")
$xampp_path = "C:\xampp\php"
[Environment]::SetEnvironmentVariable("PATH", "$PATH;$xampp_path")

সমস্ত ব্যবহারকারীর জন্য ভেরিয়েবল সেট করতে, মেশিন-প্রশস্ত, শেষ লাইনের মতো হওয়া উচিত:

[Environment]::SetEnvironmentVariable("PATH", "$PATH;$xampp_path", "Machine")

পাওয়ারশেল স্ক্রিপ্টে, আপনি C:\xampp\phpPATH এ যোগ করার আগে আপনার উপস্থিতি পরীক্ষা করতে চাইতে পারেন (ক্ষেত্রে এটি আগে যুক্ত করা হয়েছে)। আপনি এটি একটি মোড়ানো করতে পারেনif শর্তাধীন ।

সুতরাং সব একত্রিত:

$PATH = [Environment]::GetEnvironmentVariable("PATH")
$xampp_path = "C:\xampp\php"
if( $PATH -notlike "*"+$xampp_path+"*" ){
    [Environment]::SetEnvironmentVariable("PATH", "$PATH;$xampp_path", "Machine")
}

আরও ভাল, এক জেনেরিক ফাংশন তৈরি করতে পারে। আপনি যে ডিরেক্টরিটি যুক্ত করতে চান তা কেবল সরবরাহ করুন:

function AddTo-Path{
param(
    [string]$Dir
)

    if( !(Test-Path $Dir) ){
        Write-warning "Supplied directory was not found!"
        return
    }
    $PATH = [Environment]::GetEnvironmentVariable("PATH")
    if( $PATH -notlike "*"+$Dir+"*" ){
        [Environment]::SetEnvironmentVariable("PATH", "$PATH;$Dir", "Machine")
    }
}

কিছু পোলিশ করে আপনি জিনিসগুলি আরও ভাল করে তুলতে পারেন। উদাহরণস্বরূপ, Test-Pathআপনার ডিরেক্টরিটি আসলে রয়েছে তা নিশ্চিত করতে ব্যবহার করে ।


3
প্যারামিটারটির SetEnvironmentVariableসাথে কল করার জন্য Machineআপনাকে প্রশাসকের অধিকার সহ পাওয়ারশেলটি খুলতে হবে
ইনসপ

এটি অত্যন্ত তীব্র হতাশার যে এই "শক্তি" শেলটি% ব্যবহারকারী প্রোফাইলে% বা $ ব্যবহারকারীর প্রোফাইলে স্বীকৃতি দেয় না .. তবে আবার, এটি উইন্ডো যা আমরা বলছি
অ্যাবড

3
@abbood কি খুঁজছেন $env:userprofile
nyuszika7h 12'17

3
আপনি হয় userবা machineকল এর মধ্যে নির্দিষ্ট করা উচিত GetEnvironmentVariable। অন্যথায়, $PATHরেজিস্ট্রিটির ব্যবহারকারী এবং মেশিন উভয়ের অংশের মান থাকবে যা এটি আবার সংরক্ষণ করার সময় পাথের পরিবর্তনশীলটিকে অকার্যকরভাবে উড়িয়ে দেবে।
রেনেনিফেনিগার

35

নিরাপদ SETX

@ নাফস্ক্রিপ্টের প্রাথমিক SETXউত্তরের সমস্ত মন্তব্যে হ্যাঁ ।

  • SETXডিফল্টরূপে আপনার ব্যবহারকারীর পাথ আপডেট করবে ।
  • SETX ... /Mআপনার সিস্টেমের পথ আপডেট করবে ।
  • %PATH% ব্যবহারকারী পাথ যুক্ত সিস্টেম পাথ রয়েছে

সতর্কবাণী

  1. আপনার ব্যাকআপ করুনPATH - SETXআপনার জাঙ্কটি 1024 টির বেশি অক্ষরের চেয়ে ছোট করে দেবে
  2. কল করবেন নাSETX %PATH%;xxx - ব্যবহারকারীর পথে সিস্টেমের পথ যুক্ত করে
  3. ফোন করবেন না SETX %PATH%;xxx /M - সিস্টেমের পথে ব্যবহারকারী পাথ যুক্ত করে
  4. অতিরিক্ত ব্যাচের ফাইল ব্যবহার অন্ধত্বের কারণ হতে পারে 1

Ss64 SETX পৃষ্ঠা কিছু খুব ভাল উদাহরণ আছে। গুরুত্বপূর্ণ হল এটা যেখানে রেজিস্ট্রি কি জন্য হয় স্থানটিকে SETXবনামSETX /M

ব্যবহারকারী চলক:

HKCU\Environment

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

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

ব্যবহারের নির্দেশাবলী

ব্যবহারকারীকে যুক্ত করুন PATH

append_user_path.cmd

@ECHO OFF
REM usage: append_user_path "path"
SET Key="HKCU\Environment"
FOR /F "usebackq tokens=2*" %%A IN (`REG QUERY %Key% /v PATH`) DO Set CurrPath=%%B
ECHO %CurrPath% > user_path_bak.txt
SETX PATH "%CurrPath%";%1

সিস্টেমে যোগ করুন PATH

append_system_path.cmdঅ্যাডমিন হিসাবে চালানো আবশ্যক।

(এটি মূলত ভিন্ন Keyএবং SETX /Mসংশোধক ব্যতীত একই )

@ECHO OFF
REM usage: append_system_path "path"
SET Key="HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
FOR /F "usebackq tokens=2*" %%A IN (`REG QUERY %Key% /v PATH`) DO Set CurrPath=%%B
ECHO %CurrPath% > system_path_bak.txt
SETX PATH "%CurrPath%";%1 /M

বিকল্প

অবশেষে এসএসএনইএনএইচএস পৃষ্ঠা দ্বারা প্রস্তাবিত এসটেনভি নামে একটি উন্নত সংস্করণ রয়েছে যা ব্যবহারকারীর বা সিস্টেমের পরিবেশের ভেরিয়েবলগুলি নির্ধারণ করে।


1. কঠোরভাবে সত্য নয়


24

পার্টিতে দেরিতে - তবে আপনি যদি ইতিমধ্যে ডিরেক্টরিটিতে PATH যুক্ত করতে চান ডিরেক্টরিতে থাকেন তবে কার্যকর।

set PATH=%PATH%;%CD%

সম্পাদনা: মতামত অনুসারে - স্ট্যান্ডার্ড উইন্ডোজ সেন্টিমিডের সাথে কাজ করে তবে পাওয়ারশেলের সাথে নয়।

পাওয়ারশেলের জন্য %CD%সমতুল্য[System.Environment]::CurrentDirectory


1
আমার পাওয়ারশেল বলছে যে% সিডি% স্বীকৃত নয়।
পাওলো মাতোস

@ পাওলোমাতোস চেষ্টা করতে পারেন[System.Environment]::CurrentDirectory
এনক্লর্ড

4

সমস্ত উত্তর বাদে আপনি যদি উইন্ডোজ এনভায়রনমেন্ট ভেরিয়েবলগুলি সম্পাদনা করতে একটি সুন্দর জিইউআই সরঞ্জাম চান তবে আপনি ব্যবহার করতে পারেন দ্রুত পরিবেশ সম্পাদক

চেষ্টা করে দেখুন! এটি ব্যবহার করা নিরাপদ এবং দুর্দান্ত!

http://www.rapidee.com/en/


2
উইন্ডোজ 10 এখন প্যাথ এনভায়রনমেন্ট ভেরিয়েবল এডিটরে উল্লেখযোগ্যভাবে উন্নতি করেছে। এটিকে ঘিরে ফেলতে কেবল তাদের 20 বছর সময় লেগেছে।
icc97

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

ইতিমধ্যে অন্তর্ভুক্ত এক্সিকিউটেবলগুলি ওভাররাইড করতে;

সেট করুন PATH = C: am xampp \ php;% PATH%;


2

উইন্ডোজ 10 এলটিএসবি-র উপরের পরামর্শগুলি পরীক্ষা করে, এবং "সহায়তা" রূপরেখার (যা সেমিডিতে 'কমান্ড /?' টাইপ করার সময় দেখা যায়) এক ঝলক দিয়ে আমাকে এই সিদ্ধান্তে নিয়ে এসেছিল যে প্যাট কমান্ড সিস্টেমের পরিবেশের পরিবর্তনশীলকে পরিবর্তন করে দেয়? পাথের মানগুলি কেবলমাত্র বর্তমান সেশনের জন্য, তবে পুনরায় বুট করার পরে সমস্ত মানগুলি তাদের ডিফল্টে পুনরায় সেট করে দেয় - ঠিক যেমনটি তারা PATH কমান্ড ব্যবহারের আগে ছিল।

অন্যদিকে প্রশাসনিক সুযোগ-সুবিধাগুলি সহ SETX কমান্ড ব্যবহার করা আরও শক্তিশালী, এটি সেই মানগুলিকে ভালোর জন্য পরিবর্তন করে (বা কমপক্ষে পরবর্তী সময় এই কমান্ডটি ব্যবহার না হওয়া পর্যন্ত বা পরবর্তী সময় পর্যন্ত সেই মানগুলি GUI দ্বারা ম্যানিপুলেটেড হয় ...) ...

তবে স্বচ্ছতার জন্য আমি ভেবেছিলাম যে আমার জন্য কাজ করা সেরা SETX সিনট্যাক্স ব্যবহারটি এখানে ভাগ করে নেওয়া একদিন কাউকে সহায়তা করতে পারে:

SETX PATH "%PATH%;C:\path\to\where\the\command\resides"

যেখানে কোনও সমান চিহ্ন '=' এড়ানো উচিত এবং স্থানগুলির বিষয়ে চিন্তা করবেন না! এর ভিতরে ফাঁকা স্থান রয়েছে এমন পাথের জন্য আর কোনও উদ্ধৃতি চিহ্ন প্রবেশের প্রয়োজন নেই the 'বিভক্ত চিহ্ন'; ' কাজটি কর.

পাঠ্য কীওয়ার্ড যা SETX অনুসরণ করে তা নির্ধারণ করে যে কোন পরিবেশের মানগুলি সিস্টেম এনভায়রনমেন্ট ভেরিয়েবলের সম্ভাব্য মানগুলির মধ্যে পরিবর্তন করা উচিত এবং উদ্ধৃতি চিহ্নের মধ্যে% PATH% (শতাংশ চিহ্ন দ্বারা বেষ্টিত), ওএসকে বিদ্যমানটি ছেড়ে যেতে বলে PATH মানগুলি সেগুলির মতো এবং বিদ্যমান মানগুলিতে নিম্নলিখিত পাথটি (যেটি বিভক্ত চিহ্নটি অনুসরণ করে ';') যুক্ত করুন।

আছে HTH


2

পয়েন্ট 2 সম্পর্কিত আমি একটি সাধারণ ব্যাচের ফাইল ব্যবহার করছি যা আমার জন্য জনবহুল PATHবা অন্যান্য পরিবেশের ভেরিয়েবল is সুতরাং, ডিফল্টরূপে পরিবেশের ভেরিয়েবলের কোনও দূষণ নেই is এই ব্যাচ ফাইলটি যে কোনও জায়গা থেকে অ্যাক্সেসযোগ্য তাই আমি টাইপ করতে পারি:

c:\>mybatchfile
-- here all env. are available
c:\>php file.php

এটি * নিক্স-এস এবং উইন্ডোজের মধ্যে একটি গুরুত্বপূর্ণ পার্থক্য। ব্যাচটি একই শেলের মধ্যে চলে এবং পরিবেশ থেকে বেরিয়ে আসার পরে পরিবর্তন হয় (সেশনের সুযোগে)। যাইহোক, এটি উভয় উপায় হ্রাস করে: একটি ব্যাচ ফাইল আপনার পরিবেশকে মুছে ফেলতে পারে। (বিটিডব্লিউ, * নিক্স-এস-তে আপনার sourceযেমন একটি ফাইল যেমন লাগবে . mybatchfile)।
টমাসজ গ্যান্ডোর

হাই @ গ্রজেগোর্জ-গাজোস, আমি ঠিক সেটাই খুঁজছিলাম, আরও তথ্যের জন্য আপনার লিঙ্কটি 404 দেয় Any কোন বিকল্প?
দেবকবি’র

দুঃখিত, লিঙ্কটি থেকে সামগ্রীটি আর উপলভ্য নয়। আমি মুছেছি.
গ্রজেগোর্জ গাজোস

1

একটি কমান্ড প্রম্পটে আপনি সিএমডিকে এক্সপ্লোরারের কমান্ড লাইনটি প্রিফেস করে ব্যবহার করতে বলুন start

তাই start Yourbatchname

দ্রষ্টব্য আপনার নাম হিসাবে এটি নিবন্ধন করতে হবে batchfile.exe

প্রোগ্রাম এবং দস্তাবেজগুলি রেজিস্ট্রিতে যুক্ত করা যায় তাই স্টার্ট - রান ডায়লগ বাক্সে বা শর্টকাটটি তাদের পথ ছাড়াই তাদের নামটি টাইপ করা উইন্ডোজগুলিকে সন্ধান করতে সক্ষম করে।

এটি একটি জেনেরিক রেজ ফাইল। নতুন পাঠ্য নথিতে নীচের লাইনগুলি অনুলিপি করুন এবং এটি যেকোন নাম.রেগ হিসাবে সংরক্ষণ করুন। আপনার প্রোগ্রাম বা নথি সহ এটি সম্পাদনা করুন।

পাথগুলিতে কী পাথগুলিতে ফোল্ডারের নামগুলি পৃথক করতে use ব্যবহার করুন কারণ এর মূল নামগুলি পৃথক করতে রিজেডিট একক uses ব্যবহার করে। সমস্ত রেগ ফাইল REGEDIT4 দিয়ে শুরু হয়। একটি সেমিকোলন একটি লাইনে একটি মন্তব্যে পরিণত হয়। @ প্রতীকটির অর্থ একটি নামযুক্ত মানের পরিবর্তে কীকে মান নির্ধারণ করা।

ফাইলটির অস্তিত্ব নেই। এটি উইন্ডোর্ড.এক্সই ওপেন করতে ওয়ার্ড.এক্সই সেট করতে ব্যবহার করা যেতে পারে।

টাইপিং start batchfileশুরু হবে iexplore.exe।

REGEDIT4
;The bolded name below is the name of the document or program, <filename>.<file extension> 

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\Batchfile.exe]

;The @ means the path to the file is assigned to the default value for the key.
;The whole path in enclosed in a quotation mark ".

@="\"C:\\Program Files\\Internet Explorer\\iexplore.exe\""

;Optional Parameters. The semicolon means don't process the line. Remove it if you want to put it in the registry

;Informs the shell that the program accepts URLs.

;"useURL"="1"

;Sets the path that a program will use as its' default directory. This is commented out.

;"Path"="C:\\Program Files\\Microsoft Office\\Office\\"

অন্য উত্তরের পথে আপনাকে ইতিমধ্যে জানানো হয়েছে। এছাড়াও doskey /?সেন্টিমিডি ম্যাক্রোগুলি দেখুন (তারা কেবল টাইপ করার সময় কাজ করে)।

আপনি সিএমডি-র জন্য স্টার্টআপ কমান্ডগুলি চালাতে পারেন। উইন্ডোজ রিসোর্স কিট প্রযুক্তিগত রেফারেন্স থেকে

অটোরান

HKCU\Software\Microsoft\Command Processor 

Data type Range Default value 
REG_SZ  list of commands  There is no default value for this entry.  

বিবরণ

Cmd.exe শুরু করার সময় প্রতিটি আদেশ কার্যকর করা হয়।


1

কন্ট্রোল প্যানেলের আরও ভাল বিকল্প হ'ল এই ফ্রিওয়্যার প্রোগ্রামটি প্যাথেনেটর নামক উত্স থেকে প্রকাশ করা:

https://sourceforge.net/projects/pathenator/

যাইহোক, এটি কেবলমাত্র ডট.নেট 4.0 বা আরও বেশি যেমন উইন্ডোজ 7,8 বা 10 এর মতো সিস্টেমের জন্য কর্মী।


1

আপনি যদি কমান্ডটি চালনা করেন তবে cmdএটি কমান্ড উইন্ডোর সমস্ত সিস্টেম ভেরিয়েবল আপডেট করবে update


এ অর্থে. যা ঘটে তা হ'ল আপনি বর্তমান সেশনের মধ্যে একটি নতুন অধিবেশন শুরু করবেন। ছাড়ার জন্য আপনাকে exitদু'বার কল করতে হবে , প্রথমে নতুন বন্ধ করতে হবে এবং তারপরে প্রথম সেশনটি বন্ধ করতে হবে (পুরানো পরিবেশের সাথে)।
ফারওয়ে

1

gtools থেকে প্যাশেড ব্যবহার করুন

এটি স্বজ্ঞাত উপায়ে কাজগুলি করে যেমন:

pathed /REMOVE "c:\my\folder"
pathed /APPEND "c:\my\folder"

এটি এবং নতুন সেন্টিমিডি স্প্যান করার প্রয়োজন ছাড়াই ফলাফলগুলি দেখায় !


0
  1. আমি সেই সময় পিএইচপি ইনস্টল করেছি। পিএইচপি -7 ***। সি: \ পিএইচপি z তে জিপ বের করা হয়েছে
  2. আমার বর্তমান PATH এনভায়রনমেন্ট ভেরিয়েবলের ব্যাকআপ দিন: চালান cmd, এবং আদেশটি কার্যকর করুন:path >C:\path-backup.txt

  3. আমার বর্তমান পথের মানটি সি:। Path.txt ফাইলটিতে (একইভাবে) পান

  4. Path.txt সংশোধন করুন (অবশ্যই, আমার পথের দৈর্ঘ্য 1024 অক্ষরের বেশি, উইন্ডোজ কয়েক বছর চলছে)
    • আমি সেখানে নকল পাথগুলি মুছে ফেলেছি, যেমন 'সি: \ উইন্ডোজ; বা সি: \ উইন্ডোজ \ সিস্টেম 32; বা সি: \ উইন্ডোজ \ সিস্টেম 32 \ ওয়েবেম; - আমি দুবার পেয়েছি।
    • এছাড়াও আনইনস্টল করা প্রোগ্রামের পাথগুলি সরান। উদাহরণ: সি: \ প্রোগ্রাম ফাইলগুলি \ ননএক্সিস্টসফটওয়্যার;
    • এইভাবে, আমার পথের স্ট্রিং দৈর্ঘ্য <1024 :)))
    • পাথ স্ট্রিংয়ের শেষে; সি: \ পিএইচপি \
    • পাথের মানটি কেবল ফ্রেমযুক্ত ডাবল উদ্ধৃতি সহ অনুলিপি করুন ! উদাহরণ: "সি: \ উইন্ডোজ; ****; সি: \ পিএইচপি \" কোনও পাঠ্য = নেই !!!
  5. প্রশাসক হিসাবে উইন্ডোজ পাওয়ারশেল খুলুন।
  6. আপনার আদেশ প্রদান করুন:

setx path "Here you should insert string from buffer (new path value)"

  1. আপনার টার্মিনালটি পুনরায় চালনা করুন (আমি "ফার ম্যানেজার" ব্যবহার করি) এবং পরীক্ষা করুন: php -v

0

যতটা তুচ্ছ এটি হতে পারে, এই সমস্যার মুখোমুখি হওয়ার সময় আমাকে উইন্ডোজ পুনরায় চালু করতে হয়েছিল।

আমি উইন্ডোজ 7 এক্স 64 চালাচ্ছি। আমি সিস্টেমটি PATH ভেরিয়েবলটিতে একটি ম্যানুয়াল আপডেট করেছি। যদি আমি স্ট্যাটু মেনু থেকে cmd.exe চালাই তবে এটি ঠিক আছে। তবে আমি যদি উইন্ডোজ এক্সপ্লোরার অ্যাড্রেস বারে "সেন্টিমিডি" টাইপ করি তবে মনে হয় এটি অন্য কোথাও থেকে PATH লোড করে, যার মধ্যে আমার ম্যানুয়াল পরিবর্তন হয়নি।

(সন্দেহ এড়াতে - হ্যাঁ, আমি পুনরায় চালু করার আগে আমি কয়েকবার বন্ধ করে দিয়ে পুনরায় চালিত করেছিলাম এবং এটি সাহায্য করে না))

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