উইন্ডোজ পাথের পরিবেশের পরিবর্তনশীলটিকে কেন পরিচালনা করতে পারে না?


44

আমার সহকর্মী এবং আমার উইন্ডোজ এক্সপি প্রফেশনাল x64 সংস্করণ ইনস্টল করা আছে একই ডেল ওয়ার্কস্টেশন।

আমার প্যাথ এনভায়রনমেন্ট ভেরিয়েবল এর সাথে শুরু হয়:

%JAVA_HOME%\bin;...

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

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

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

আমি প্রায় 6 মাস ধরে উইন্ডোজে এই অসঙ্গতিটি পর্যবেক্ষণ করছি এবং এটি সম্পর্কে খুব কৌতূহলী। আমাদের অফিসে উইন্ডোজটির অনেকগুলি সংস্করণ রয়েছে, তাই এখন অবধি ঠিক একই ওএস সংস্করণটি চালিত দুটি মেশিনে এটি ঘটার আমি খুব কমই দেখতে পেলাম।

এর কারণ কী? আমার যন্ত্রটি যখন নতুন জেভিএহোম ব্যবহার করে তার যন্ত্রটি কেন পুনরায় মূল্যায়ন করে না?

(এটি কি কারণ এটি পথে প্রথম জিনিস নয়? যদি তাই হয় তবে এটি কীভাবে হতে পারে এবং কেন? আমি পরীক্ষা করার জন্য আরও পরীক্ষা করতাম, তবে আমার মনে হয় তিনি এখন এতে বিরক্ত হয়ে কাজ শুরু করতে চান) ।)


9
আপনারা সকলেই বন্ধ করার জন্য ভোট দিচ্ছেন (এই মুহুর্তে 3) ... যদি কোথাও কোনও দ্বিধাগ্রস্থতা থাকে তবে আমাকে মন্তব্য করে একটি মন্তব্য নিশ্চিত হ'ল দুর্দান্ত। যদি এটি ডুপ না হয় ... তবে এই প্রশ্নের সাথে আপনার কী ভুল বলে মনে হচ্ছে তা বলাই ভাল।
skiphoppy

1
সম্ভবত এটি প্রোগ্রামিংয়ের চেয়ে বেশি সিস্টেম প্রশ্ন, যদিও এর সরাসরি প্রভাব প্রোগ্রামিংয়ের উপর রয়েছে, সে কারণেই আমি এটি বন্ধ করার পক্ষে ভোট দিই না ... :)

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

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

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

উত্তর:


37

আপনার পাথ হ'ল সিস্টেম পাথের সংমিশ্রণ এবং তারপরে ব্যবহারকারী পাথ। অতিরিক্তভাবে, সিস্টেম এনভায়রনমেন্ট ভেরিয়েবলগুলিতে ব্যবহারকারীর এনভায়রনমেন্ট ভেরিয়েবলের উল্লেখ থাকতে পারে না এবং এ জাতীয় কোনও রেফারেন্স প্রসারিত হবে না । পছন্দসই ফলাফল পেতে, ব্যবহারকারীর পরিবেশ পরিবর্তনশীল PATH- তে% JAVA_Home% এর রেফারেন্স সন্নিবেশ করান বা ইতিমধ্যে উপস্থিত না থাকলে এ জাতীয় পরিবর্তনশীল তৈরি করুন।

সম্ভবত একটি সরল উদাহরণ এই পরিষ্কার করতে হবে। ধরা যাক সিস্টেমের পরিবেশটি

ProgramFiles = C:\Program Files
SystemRoot = C:\WINDOWS
PATH = %SystemRoot%\SYSTEM32

এবং ব্যবহারকারী জেএসমিথের পরিবেশ

JAVA_HOME = %ProgramFiles%\Java\bin
USERPROFILE = C:\USERS\JSmith
PATH = %JAVA_HOME%\bin;%USERPROFILE%\bin

তারপরে ফলাফল হবে path

C:\WINDOWS\SYSTEM32;C:\Program Files\Java\bin;C:\Users\JSmith\bin

পছন্দসই হিসাবে


3
আমার সিস্টেমে কিছু সিস্টেম এনভির ভেরিয়েবলগুলির একই নাম সহ কিছু ব্যবহারকারী এনভির ভেরিয়েবল ছিল। পাঠ্য প্রতিধ্বনি তাদের সম্প্রসারণ করবে না - এটি পড়ার পরে আমি সদৃশ ব্যবহারকারীর ভেরিয়েবলগুলি সরিয়ে দিয়েছি কারণ আমি ভাবছিলাম যে এগুলি অগ্রাধিকারের সাথে নিয়ে গেছে (তবে প্রসারিত হতে পারে না)। এটি এখন আমার পক্ষে কাজ করেছে - অনেক ধন্যবাদ। :)
মাইকেল

আসল অব্যবহৃত PATH পাওয়ার পাওয়ারের মাধ্যমে কি কোনও উপায় আছে? আমি এতে অপ্রত্যাশিত পরিবেশের ভেরিয়েবল সংরক্ষণ করার সময় আমার পথের সাথে সংযুক্ত হওয়ার আশা করছিলাম।
সিএমসিডিগ্রাগনকাই

অন্য একটি প্রশ্নের সাহায্যে এটি সমাধান করুন। এটি পরিচালনা করতে একটি পাওয়ারশেল স্ক্রিপ্ট লিখুন: gist.github.com/CMCDragonkai/a02d77c2d7c0799dd42fd2aab26a3cd5
সিএমসিডিগ্র্যাগনকাই

16

এই কী এর অধীনে উইন্ডোজ রেজিস্ট্রি পরীক্ষা করুন:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Environment

যদি পরিবেশের পরিবর্তনশীল প্রসারিত করা প্রয়োজন (এখানে:% JAVA_Home%)

তারপরে ভেরিয়েবলটি অবশ্যই REG_EXPAND_SZ মান হিসাবে সেট করা উচিত

যদি রেজিস্ট্রি মান যুক্ত / সম্পাদনা করতে কমান্ড-লাইনের মাধ্যমে reg.exe ব্যবহার করা হয়, তবে এটি REG_SZ টাইপ করতে ডিফল্ট হয়। reg add /t REG_EXPAND_SZবিকল্পটি ব্যবহার করে REG_EXPAND_SZ প্রকারটি নির্দিষ্ট করুন ।


হ্যাঁ ... এই সেটিংগুলির মধ্যে একটি যা আমি সবসময় ভুলে যাব বলে মনে হয় ... পেস্কি রেজিস্ট্রি ;-)
এডি বি

9

PATH ভেরিয়েবলের মধ্যে পরিবেশের ভেরিয়েবলগুলি প্রসারিত করার ক্ষেত্রে একটি সুনির্দিষ্ট সমস্যা আছে যখন ভেরিয়েবলটি ফাঁকযুক্ত কোনও পথে প্রসারিত করে।

আমরা আমাদের নিজস্ব সিস্টেম লেভেল ভেরিয়েবলগুলি "OUR_ROOT = c: \ MyRoot" এর মতো তৈরি করেছি এবং তারপরে এটি "PATH =;% OUR_ROOT% \ বিন" এর মতো সিস্টেম PATH তে ব্যবহার করেছি; এবং এটি "PATH =; c: \ MyRoot \ bin;" এ সঠিকভাবে প্রসারিত হয়। এখনও পর্যন্ত কোনও সমস্যা নেই।

তবে, উইন্ডোজ 7 (32-বিট) এ, আমি একটি পণ্য নিজেই ইনস্টল করেছিলাম এবং সিস্টেম এনভায়রনমেন্ট ভেরিয়েবলগুলি তৈরি করেছিলাম:

STUDIO_BIN=C:\program files\Company Name\Product Name 10.4\bin

এবং এটি এটি সিস্টেম PATH ভেরিয়েবলটিতে যুক্ত করেছে:

PATH=<other path elements>;%STUDIO_BIN%;<more path elements>

কিন্তু সিএমডিতে প্রদর্শিত পাঠ্য মানগুলিতে "% STUDIO_BIN%" রয়েছে; এবং প্রসারিত পথ নয়। আমার কম্পিউটারের মান> বৈশিষ্ট্য> অ্যাডভান্সড> এনভ.ওয়ার্সের মানও অপরিবর্তিত রয়েছে। এর অর্থ হ'ল আমি সেই প্রোগ্রামগুলি চালাতে পারিনি যার জন্য সেই ডিরেক্টরিতে একটি ডিএলএল প্রয়োজন।

এমবেডেড স্পেস ছাড়াই কেবলমাত্র STUDIO_BIN (আমার কম্পিউটারের মাধ্যমে> সম্পত্তি> অ্যাডভান্সড ...> এনভ ভার্স) নামে একটি নাম পরিবর্তন করে:

STUDIO_BIN=C:\ProductName\bin

এবং তারপরে সিএমডি উইন্ডোটি পুনরায় চালু করে, প্যাথ এখন:

PATH=<other path elements>;C:\ProductName\bin;<more path elements>

আরেকটি সমাধান হ'ল আপনি প্যাথএইচটিতে আমার কম্পিউটার> প্রোপার্টি> অ্যাডভান্সড ...> এনভায়রনমেন্ট ভেরিয়েবল ডায়ালগটি ব্যবহার করে যে সিস্টেমের ভেরিয়েবলটি ব্যবহার করছেন তা পর্যাপ্তভাবে সম্পাদনা করা। আমি একটি চরিত্র যুক্ত করার চেষ্টা করেছি এবং এটি একটি 'পরিবর্তন' তৈরির জন্য মুছে ফেললাম এবং তারপরে ঠিকই বের হয়ে গেলাম, একটি নতুন সিএমডি প্রম্পট শুরু করলাম এবং PATH সঠিকভাবে প্রসারিত হয়নি। আমি তখন পথের কিছু অংশ মুছে ফেলার চেষ্টা করেছি

STUDIO_BIN=C:\Program Files\Company Name

("পণ্যের নাম 10.4" বাদ দিয়ে) এবং দেখুন এবং দেখুন, পরবর্তী সিএমডি প্রম্পটে স্টুডিয়ো_বিনের সাথে PATH সঠিকভাবে প্রসারিত দেখানো হয়েছে!

আশ্চর্যের বিষয়, আমি যদি আবার ফিরে গিয়ে স্টুডিয়ো_বিনে "পণ্যটির নাম 10.4" যুক্ত করেছিলাম (আমি এটির সাথে কৌতুক শুরু করার আগে সেখানে উপস্থিত সমস্ত জায়গাগুলি সহ) এবং পথটি সঠিকভাবে প্রসারিত হয়েছিল।

স্পষ্টতই এর সামগ্রীতে পর্যাপ্ত পরিবর্তন থাকলে, প্যাথ ভেরিয়েবল পরিবেশ পরিবর্তনশীল ডায়ালগটিতে কিছু অতিরিক্ত প্রক্রিয়াজাতকরণ করে যা এটিকে কাজ করতে দেয়। প্রক্রিয়াজাতকরণটি যখন পণ্যটির ইনস্টলার দ্বারা পরিবর্তনশীল যুক্ত করা হত (তখন সম্ভবত এটি সরাসরি রেজিস্ট্রিতে PATH পরিবর্তিত হয়েছিল) by

আমি প্রায় ইতিবাচক এটি এক্সপি-তেও সমস্যা ছিল। উইন্ডোজ in এ এটি আমার জন্য পুনরুত্থিত হয়েছিল কারণ আমি একসাথে একটি নতুন উন্নয়ন মেশিন রাখছিলাম। স্পষ্টতই এটি মাইক্রোসফ্ট দ্বারা স্থির করা হয়নি।

স্পষ্টতই এমনকি এমএস দ্বারা সংজ্ঞায়িত% ভেরিয়েবল% প্রোগ্রামফায়ালস% PATH- তে সঠিকভাবে প্রসারিত হবে না।

আপনি যদি কমান্ড-লাইন বা ব্যাচ ফাইলের মাধ্যমে PATH সেট করে থাকেন তবে এই পৃষ্ঠাটি একটি সম্ভাব্য উত্তর সরবরাহ করে। (উদ্ধৃতি চিহ্নগুলিতে SET এর পরে পুরো কমান্ডটি সংযুক্ত করুন)) আমি জানি না যে আমি যে পণ্যটি ইনস্টল করেছি সেটি পরিবেশের ভেরিয়েবলগুলি সেট করতে কী ইনস্টলার ব্যবহার করেছিল, তবে স্পষ্টতই পথগুলি সঠিকভাবে প্রসারিত করার জন্য প্রসেসিংয়ের যে কোনও প্রযোজনীয় দরকার আছে তা স্পষ্টতই ঘুরে গেছে।

সুতরাং - সংক্ষিপ্তসার হিসাবে, আপনি হয়:

  • পাথগুলি (এবং সমস্ত সম্পর্কিত ফাইলগুলি স্থানান্তরিত করুন) ফাঁকা জায়গা ছাড়াই, বা

  • এনভায়রনমেন্ট ভেরিয়েবল ডায়ালগে যে পরিবর্তনগুলি প্রসারিত করতে ব্যর্থ হচ্ছে তা সম্পাদনা করুন (সঠিকভাবে প্রক্রিয়া করার জন্য তাদের যথেষ্ট পরিমাণে পরিবর্তন করা - আমি যথেষ্ট কতটা ইতিবাচক নই)।


7

আমি ২০০৯ এর মার্চ মাসে মাইক্রোসফ্ট ফোরামগুলিতে এটি জিজ্ঞাসা করেছি, এবং এটির সমাধান কখনও হয়নি:

কীভাবে% পরিবেশফেরাল% ব্যবহার করতে হবে পাথ পরিবেশ পরিবর্তনশীল? :


আমি সিস্টেমের পাথ পরিবেশ পরিবর্তনশীলটিতে একটি ফোল্ডার যুক্ত করার চেষ্টা করছি।

আমি % প্রোগ্রামফায়ালস% ys সিসইন্টার্নালস যুক্ত করতে চাই

বিদ্যমান পাথ চলক:

সি: \ PROGRA ~ 1 \ Borland \ Delphi5 \ প্রকল্প \ বিপিএল; সি: \ PROGRA ~ 1 \ Borland \ Delphi5 \ বিন; % সিস্টেমরুট% \ system32; % SystemRoot% ;% SystemRoot % \ system32 \ Wbem; সি: \ প্রোগ্রাম ফাইল \ মাইক্রোসফট SQL সার্ভার \ 80 \ সরঞ্জাম \ BINN; সি: \ প্রোগ্রাম ফাইল \ মাইক্রোসফট SQL সার্ভার \ 80 \ সরঞ্জাম \ Binn \; সি: \ প্রোগ্রাম ফাইল মাইক্রোসফ্ট এসকিউএল সার্ভার \ 90 \ সরঞ্জামসমূহ \ বিন \; সি: \ প্রোগ্রাম ফাইলগুলি মাইক্রোসফ্ট এসকিউএল সার্ভার \ 90 \ ডিটিএস \ বিন \ C সি: \ প্রোগ্রাম ফাইলগুলি \ মাইক্রোসফ্ট ভিজ্যুয়াল স্টুডিও 8 \ প্রচলিত 7 \ আইডিই \ প্রাইভেটসেমসবলস%;% সিস্টেম্রোট % \ সিস্টেম 32 \ উইন্ডোজপাওয়ারশেল \ v1.0 \

সুতরাং আমি যেখানে আপনি এটি সম্পাদনা করেছেন সেখানে:

বিকল্প পাঠ

এবং আমি আমার পরিবর্তনশীলটিকে পথে যুক্ত করব:

% প্রোগ্রামফায়াল % (স্নিপ)

তারপরে একটি নতুন কমান্ড প্রম্পট উইন্ডো খোলার সাথে পরিবেশের ভেরিয়েবলটি এটির আসল মূল্যের সাথে প্রতিস্থাপন করা হবে না:

পাথ =% প্রোগ্রামফায়াল % I সিসইন্টার্নালস; সি: \ প্রোগ্রাএ ~ 1 \ বোরল্যান্ড \ ডেলফি 5 \ প্রকল্পসমূহ \ বিপিএল (স্নিপ)>

যা আপনি নীচের স্ক্রিনশটে দেখতে পাচ্ছেন:

বিকল্প পাঠ


তবে আপনার প্রশ্নের উত্তর দিতে: আমি জানি না। মনে হচ্ছে এটি করা যায় না।


5

পরিবেশগত ভেরিয়েবলের দুটি স্তর রয়েছে, বৈশ্বিক এবং ব্যবহারকারী। যদি তার% জাভা_হোম% ব্যবহারকারীর পরিবেশের পরিবর্তনশীল হিসাবে সেট থাকে তবে পরিবর্তে এটি বিশ্বব্যাপী পরিবর্তন করে থাকে তবে তিনি কোনও পার্থক্য দেখতে পাবেন না।


2

আপনার নিজের ব্যবহারকারী পরিবেশের ভেরিয়েবলগুলি সংজ্ঞায়িত করার সময় PATH তে কোনও স্থান নেই বলে নিশ্চিত করুন। যেমন: সি: N জিএনএটি; বিন; সি: "জিএনএটি \" তে অভ্যাসের কাজকে অন্তর্ভুক্ত করে কারণ ""; এবং "সি: \ জিএনএটি \ অন্তর্ভুক্ত"।


2

এমএসটিএসসি ব্যবহার করে / কনসোল সেশনে লগইন করা হলেও এনভায়রনমেন্ট ভেরিয়েবল যুক্ত করুন।

মেশিনটি পুনরায় বুট করুন এবং আপনি দেখতে পাবেন আপনার পরিবেশের ভেরিয়েবলগুলি বজায় থাকবে।

আপনি যখন পরিবেশের পরিবর্তনশীল পরিবর্তন করার চেষ্টা করেছিলেন তখন আপনি কীভাবে মেশিনের সাথে সংযুক্ত ছিলেন তার উপর নির্ভর করে ও / এস-তে একটি বিচক্ষণতা দেখা দেয়।


1

এটি "বিলম্বিত পরিবেশের পরিবর্তনশীল প্রসারণ" বৈশিষ্ট্যটির সাথে সম্পর্কিত হতে পারে (বা এর অভাব), অথবা আপনি সবসময় সঠিক সমাধান পেতে এই বৈশিষ্ট্যটির সুবিধা নিতে পারেন।

একটি সিএমডি প্রম্পট থেকে

set /? 

এবং "বিলম্বিত পরিবেশের পরিবর্তনশীল প্রসারণ" বর্ণিত বিভাগটি পড়ুন, যা পরীক্ষার জন্য একটি ছোট উদাহরণ অন্তর্ভুক্ত করে

set VAR=before
if "%VAR%" == "before" (
    set VAR=after
    if "%VAR%" == "after" @echo If you see this, it worked
)

যদি আপনি প্রতিধ্বনি লাইন না পান, তবে এটি এটি ব্যাখ্যা করতে পারে ...

তবে, আপনি যদি নিজের সেন্টিমিডি.এক্স.কে / ভি বিকল্প দিয়ে শুরু করেন তবে আপনি "!" ব্যবহার করতে পারেন পরিবর্তে "%", যা আচরণ পরিবর্তন করে

set VAR=before
if "%VAR%" == "before" (
    set VAR=after
    if "!VAR!" == "after" @echo If you see this, it worked
)

আমার জন্য (এক্সপিতে চলমান), 1 ম স্ক্রিপ্টটি কার্যকর হয়নি, তবে দ্বিতীয় সংস্করণটি করেছে (সেমিডি.এক্সে / ভি সহ)


1

আমারও একই সমস্যা ছিল এবং আমি জানি যে এটি কীভাবে ঠিক করা যায়, তার খোঁড়া।

কেবল আপনার পথ আবার সম্পাদনা করুন, তবে কোনও পরিবর্তন করবেন না, এবং PATH পুনরায় সংরক্ষণ করুন। কিছু কারণে এর ফলে সমস্ত নেস্টেড পরিবেশের পরিবর্তনশীল রেফারেন্সগুলি পুনরায় মূল্যায়িত হয়।

যদি এটি কাজ না করে তবে আরও কয়েকবার করুন, কোনওভাবে এটি কেবল নিজের কাজ করে।


1

আমি বিশ্বাস করি যে উইন্ডোজ PATH এ একটি পরিবর্তনশীল প্রসারিত করতে ব্যর্থ হয়েছে কারণ এটি কী এখনও এটি সংজ্ঞায়িত হয়নি বলে মনে করে। বিবেচনা:

REM Ensure variable is undefined
SET UNDEFINED=
REM And then try to expand it
ECHO UNDEFINED=%UNDEFINED%

এই হাইপোথিসিসটি আমার অন্যান্য পর্যবেক্ষণের সাথে সামঞ্জস্য করে - ব্যবহারকারীদের যুক্ত %ProgramFiles%\Somethingকরা সর্বদা পরিবর্তিত নোটিফিকেশনের সময় মেশিনের পরিবেশে সংজ্ঞায়িত হয়ে থাকে (প্রদত্ত লোডিং অর্ডার - মেশিন এবং তারপরে ব্যবহারকারী) এর প্রত্যাশিত প্রসারণের ফলাফল ঘটবে । কিন্তু আপনি যখন মেশিন পরিবেশ সঠিক পরিবর্তনশীল সম্প্রসারণ পরিবর্তন শুধুমাত্র বুট করার সময় ঘটবে (ডান এখন আমি কোন ধারণা আছে কিভাবে এবং কেন এই নিয়মিত ঘটে)। PATH%ProgramFiles%


1

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

কার্যকর PATH হ'ল ব্যবহারকারীর PATH ভেরিয়েবলের সংমিশ্রণ এবং তারপরে বিশ্ব PATH ভেরিয়েবল।

ব্যবহারকারী ভেরিয়েবলগুলি বিশ্বব্যাপী ভেরিয়েবলের আগে সেট করা থাকে, সুতরাং আপনি ব্যবহারকারী PATH ভেরিয়েবলে গ্লোবাল ভেরিয়েবল ব্যবহার করতে পারবেন না। অতিরিক্তভাবে, ভেরিয়েবলগুলি বর্ণানুক্রমিক ক্রমে সেট করা থাকে, সুতরাং আপনি PATH এর আগে সাজানোর মত চলকগুলি ব্যবহার করতে পারবেন না।

(এটি কমপক্ষে উইন্ডোজ to এ প্রযোজ্য I আমি এটি নতুন সংস্করণে পরীক্ষা করিনি))


0

সম্ভবত আপনি এটি ভুল করছেন?

আমি উইন্ডোজ এক্সপি প্রো এসপি 3 (32 বিট) দিয়ে চেষ্টা করেছি। আমার বেশ কয়েকটি ঘটনা %JAVA_HOME%(এবং %JAVAFX_HOME%ইত্যাদি) নিয়ে একটি পথ রয়েছে । আমি কমান্ড লাইনে যাই, টাইপ করি PATH, আমি ভেরিয়েবলগুলি প্রসারিত দেখি। ভাল.

আমি এর মান পরিবর্তন JAVA_HOME। একই কমান্ড লাইন উইন্ডোতে ফিরে, PATHআবার একই মান ... প্রত্যাশিত হিসাবে (অভিজ্ঞতা অনুসারে!)।

আমি একটি নতুন কমান্ড লাইন উইন্ডো খুলি, টাইপ PATH, গোটচা, আমি নতুন মানটি দেখতে পাচ্ছি।

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

এটি কোনও বৈশিষ্ট্য বা বাগ বা বিরক্তি হিসাবে দেখা যেতে পারে তবে এটি এটি কাজ করে। আরে, অন্তত, উইন 9 এক্স বারের মতো নয়, আমাদের কম্পিউটারটি পুনরায় বুট করতে হবে না! এবং এনটি বার (আইআইআরসি) এর বিপরীতে, আপনাকে লগ আউট এবং পিছনে ফিরে আসতে হবে না।

অসঙ্গতি কেন? মাইক্রোসফ্টের উপায়গুলি অনির্বচনীয় ... :- পি


এটা না। পরিবর্তনের পরে আমরা একটি নতুন কমান্ড উইন্ডোতে পরীক্ষা করছি। আমরা এই বিষয়টি সম্পর্কে সচেতন যে সিস্টেমের মান পরিবর্তন করা চলমান প্রক্রিয়াগুলির মানগুলিকে পরিবর্তন করে না।
skiphoppy

ঠিক আছে, সুতরাং 'সম্ভবত' ... :-) এবং আমার ব্যাখ্যাটি অসঙ্গতাকে আবৃত করে না, তবে কিছু নবজাতকের পক্ষে কার্যকর হতে পারে ...: -পিআই বেশিরভাগই নির্দেশ করতে চেয়েছিল যে চলক প্রসারটি পথের সর্বত্রই কাজ করে। .. কিছু সিস্টেমের জন্য! (আমি সমস্ত ব্যবহার করেছি ... সর্বদা 32 বিট)।

0

আমি সিস্টেম> অ্যাডভান্সড সেটিংস> এনভায়রনমেন্ট ভেরিয়েবলগুলিতে এনভায়রনমেন্ট ভেরিয়েবলগুলি সেট করার সমাধান করেছি ।

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

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