কেন আমি এমন একটি প্রোগ্রাম চালাতে সক্ষম হলাম যা আমার পাঠ্য পরিবেশে পরিবর্তনশীল নয়?


9

আমি ভাবছিলাম কেন কমান্ড java -versionহল বিশ্বব্যাপী অ্যাক্সেসযোগ্য?

আমি এটি কোনও ডিরেক্টরি এবং এটির কাজ থেকে চালাতে পারি:

এখানে চিত্র বর্ণনা লিখুন

এটা কিভাবে কাজ করে?

আমার সিস্টেমের PATHপরিবর্তনশীলটি দেখতে এটির মতো:

C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;
%SystemRoot%\system32;
%SystemRoot%;
%SystemRoot%\System32\Wbem;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\

আমার হিসাবে হিসাবে, java.exeঅবস্থিত%programfiles%\java\jre7\bin



আমি মুহূর্ত যার কারণে এই একটি মন্তব্য এবং জবাব এ হাতে বিবরণ নেই, কিন্তু যদি java.exe(অথবা java.com, ইত্যাদি) হয় না আপনার PATHঅন্য রেজিস্ট্রি এন্ট্রি যে এক্সিকিউটেবল পাথ উল্লেখ করতে পারেন।
মার্ক হার্ট

1
@ মার্কহর্ড সেন্টিমিডি (এবং ক্রিয়েটপ্রসেস) অ্যাপ পাথগুলির রেজিস্ট্রি এন্ট্রি পরীক্ষা করে না, কেবল শেলএক্সেকিউট [এবং তাই রান ডায়ালগ] করে।
র্যান্ডম 832

@MarkHurd, যেমন আপনার প্রত্যাশিত করেছি, এটা না আমার পথ পরিবর্তনশীল মধ্যে ..
Pacerier

1
@Pacerier জাভা এক্সিকিউটেবল পাওয়া যায়% SystemRoot% \ system32 \
ডোয়াইন Hinterlang

উত্তর:


13

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

  1. "উইন্ডোজ সিস্টেম বৈশিষ্ট্য" সহ ম্যানুয়ালি যুক্ত করা: এখানে চিত্র বর্ণনা লিখুন

  2. অ্যাড অন সরঞ্জাম সেটেক্স.এক্সই ব্যবহার করে:

এটি স্ট্যান্ডার্ড উইন্ডোজ এক্সপি সেটআপের অংশ নয়, তবে উইন্ডোজ এক্সপি সার্ভিস প্যাক 2 সমর্থন সরঞ্জামে সেটেক্স.এক্সই নামে একটি কমান্ড-লাইন সরঞ্জাম অন্তর্ভুক্ত রয়েছে। এই সরঞ্জামটি সেট কমান্ডটি প্রসারিত করে যাতে পরিবেশের ভেরিয়েবলগুলিতে স্থায়ী পরিবর্তন করা যায়। উদাহরণস্বরূপ, একটি ফোল্ডার সি যুক্ত করতে: the পথে নতুন ফোল্ডারটি, আদেশটি হবে

setx path "%PATH%;C:\New Folder" 
  1. পরিবেশ পরিবর্তনশীল তালিকাভুক্তকরণের জন্য স্ক্রিপ্টসমূহ:

"সেট" কমান্ডটি বর্তমান পরিবেশের ভেরিয়েবলের একটি তালিকা তৈরি করতে একটি পাঠ্য ফাইলে পুনর্নির্দেশের সাথে কমান্ড প্রম্পটে একসাথে ব্যবহার করা যেতে পারে। কমান্ড হতে পারে

set > C:\env_list.txt 

"সি: v env_list.txt" ফাইলের নামটি আপনার পছন্দ অনুযায়ী যে কোনও দ্বারা প্রতিস্থাপন করা যেতে পারে।

মাইক্রোসফ্ট এর একটি ভিবিএস স্ক্রিপ্ট রয়েছে যা এই পৃষ্ঠায় পরিবেশের পরিবর্তনশীল তালিকাভুক্ত করে ।

  1. এনভায়রনমেন্ট ভেরিয়েবলের জন্য রেজিস্ট্রি কী:

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

HKEY_CURRENT_USER\Environment

সিস্টেম ভেরিয়েবলগুলি কীতে পাওয়া যায়:

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

দ্রষ্টব্য যে যে কোনও পরিবেশের পরিবর্তনশীল যা রূপে প্রসারিত হওয়া দরকার (উদাহরণস্বরূপ,% PATH%) অবশ্যই রেজিস্ট্রিতে একটি REG_EXPAND_SZ রেজিস্ট্রি মান হিসাবে সংরক্ষণ করতে হবে। রেজিস্ট্রি সম্পাদনা করা প্রাথমিকভাবে সিস্টেম প্রশাসকদের দ্বারা ব্যবহৃত স্ক্রিপ্টগুলির জন্য এবং গড় পিসি ব্যবহারকারীর জন্য প্রস্তাবিত নয়।

আপনি এটি সম্পর্কে আরও তথ্য পেতে পারেন


1
যাইহোক, java.exe অবস্থিত %programfiles%\java\jre7\bin। এই ফোল্ডারটি আমার সিস্টেমের পাথ পরিবর্তনশীল মধ্যে প্রদর্শিত হবে না ..
Pacerier

7
Java.exe এছাড়াও পাওয়া যায়% SystemRoot% \ system32 \ যা আপনার পাথ পরিবর্তনশীল প্রদর্শিত হচ্ছে না
ডোয়াইন Hinterlang

5

"গ্লোবাল কমান্ড" আপনার পরিবেশ পরিবর্তনশীল দ্বারা নির্ধারিত হয় are

এটি সেট করতে আপনি কোন ওএস ব্যবহার করছেন তা নির্ভর করে ভিন্ন।

সবচেয়ে জেনেরিক উপায় হয়

"আমার কম্পিউটার" রাইট-ক্লিক করুন "সম্পত্তি" নির্বাচন করুন

উইন্ডোজ 7-এ আপনাকে বাম দিকের ফলকে "অ্যাডভান্সড সিস্টেম সেটিংস" নির্বাচন করতে হবে।

একবার সিস্টেম বৈশিষ্ট্য ডায়ালগটি খুললে, "উন্নত" ট্যাবটি নির্বাচন করুন।

নীচে, একটি বোতাম আছে "পরিবেশের ভেরিয়েবলস"

এনভায়রনমেন্ট ভেরিয়েবল ডায়ালগটিতে আপনি প্রতি ব্যবহারকারী বা পুরো সিস্টেমের জন্য পরিবেশগত পরিবর্তনশীল কনফিগার করতে সক্ষম হবেন।

উদাহরণস্বরূপ, সিস্টেম ভেরিয়েবল "পাথ" সরলীকৃত কিছু দেখতে এরকম লাগবে ...

সি: \ প্রোগ্রাম ফাইলসমূহ \ জাভা \ jre6 \ বিন ; সি: \ রুবি 19 \ বিন;

এই পাথগুলিতে এক্সিকিউটেবলকে সরাসরি কমান্ড লাইন থেকে কল করা যেতে পারে।

রান ডায়ালগ থেকে আপনি ক্যালক, এমস্পেন্ট, সেন্টিমিডি সব কল করতে পারবেন কারণ সি: \ উইন্ডোজ \ সিস্টেম 32 পাথ পরিবেশ পরিবর্তনশীল।

আপনি পরিবেশগত পরিবর্তনশীলগুলিতে কাস্টম পাথগুলি যুক্ত করতে পারেন, বিদ্যমানটিকে ওভাররাইড না করা এবং আধা-কোলন ব্যবহার করে পাথগুলি পৃথক করতে সতর্ক হন। ";"

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

আরও পড়ার জন্য নীচের লিঙ্কগুলি দেখুন ...

পরিবেশের পরিবর্তনশীল

পরিবেশের ভেরিয়েবলগুলি বুঝুন এবং কনফিগার করুন

জাভা.এক্সি একটি নতুন ইনস্টল অনুসন্ধান করুন


3

এখানে একটি সরল whichযা বর্তমান পাঠ্যেক্সট এক্সটেনশনের জন্য পাঠাতে সমস্ত কমান্ড হিট প্রদর্শন করে:

@for %%I in ("%path:;=\" "%") do @for %%E in (%pathext:;= %) do @if exist "%%~dpI%1%%E" @echo %%~dpI%1%%E

এটি রেখে দিন where.cmd( whichযদি আপনি এটি পান তবে অন্য কোথাও থেকে আসার অনুমতি দিন!) এবং এটিকে কল করুন where java

এখন, উপরে আমার মন্তব্যে আমি যে যদি javaনা না আপনার মধ্যে প্রদর্শিত PATH, আপনি পরীক্ষা করতে পারবেন HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths [সুত্র] কিন্তু পরে আসলে এই চেষ্টা এটা আছে কমান্ড লাইন সঙ্গে কাজ করে না, শুধুমাত্র জিনিস দিয়ে ব্যবহারের ShellExecuteExযেমন চালান স্টার্ট এবং startCLI কমান্ড।


2

আপনি যখন কোনও কমান্ড সন্নিবেশ করেন তখন শেলটি PATH (% PATH%, OS OS এর উপর নির্ভরশীল PATH) নামক পরিবেশের পরিবর্তনশীলটি দেখায়। এটি PATH- র প্রতিটি ডিরেক্টরিকে জিজ্ঞাসা করে এটি নির্ধারণ করে যে এটি কোনও নির্বাহযোগ্যের সাথে মুখোমুখি হয়েছে যা আপনার প্রবেশ করা কমান্ডের সাথে মেলে। এটির প্রথমটি কার্যকর করা হবে।

PATH ভেরিয়েবল সেট করার বিভিন্ন উপায়ের জন্য অন্যান্য উত্তরগুলি দেখুন।

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