পাথ ভেরিয়েবলের অনেকগুলি ফোল্ডার


15

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

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


1
আমি সত্যিই PATHএতটা দীর্ঘ মনে করি না ... এত দীর্ঘ যে সন্দেহের কারণ আপনাকে নিয়ে যায়? ভিএস কি কোনও ধরণের ত্রুটি নীচে ফেলেছে? এছাড়াও, আপনি উইন্ডোজের কোন সংস্করণটি চালাচ্ছেন?
বোসকো

@ বসকো আমার সন্দেহ হয় এটি অনেক দীর্ঘ কারণ কমান্ড প্রম্পট যেমন সহজ কমান্ডগুলি খুঁজে পায় না pingএছাড়াও, দেখে মনে হচ্ছে এটি ভিজ্যুয়াল স্টুডিওগুলির সাথে অস্বাভাবিক নয়এখানে আরও উল্লেখ করা হয়েছিল যে কমান্ড লাইন ব্যবহার করে প্যাথএইচটির সীমা 2000 এর কাছাকাছি।
সিসি ইনক

ভিজ্যুয়াল স্টুডিও 2012 ত্রুটিটি প্রারম্ভের সময় "একটি অনুরোধের লক্ষ্য রেখে ব্যতিক্রম নিক্ষেপ করা হয়েছে" ছুড়ে দেয়। এবং আমি যখন অ্যাক্টিভিটিলগ.এক্সএমএল দেখলাম তখন তা আমাকে বলেছিলThe type initializer for 'Microsoft.VisualStudio.Platform.WindowManagement.WindowManagerService' threw an exception.
সিসি ইনক

2
গৃহীত উত্তরে হ্যাক এবং সমাধান সমস্ত প্রকারের # 4405091 স্ট্যাক ওভারফ্লো প্রশ্ন :)
Bosco

উত্তর:


13

পরিবেশের ভেরিয়েবল PATH- এ মাত্রাতিরিক্ত মাত্রা কমিয়ে আনা সম্ভব, কেবল ব্যাকআপ হিসাবে পুরো লাইনটি একটি নোটপ্যাডে সংরক্ষণ করুন এবং কিছু সরিয়ে পরীক্ষা করুন।

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

সেই পথের সেটটি ছিল WAS (anchient) 255 (or260) charachters এর চেয়ে কম সীমাবদ্ধ, এটি বেশ কিছুদিন আগে 1024 এ পরিবর্তিত হয়েছিল, তারপর 2048 হ্যান্ডেল করার জন্য সার্ভার'03 যুগে ফিরে আসে এবং সম্ভবত কিছু সিস্টেমে 8096 পরিচালনা করতে পারে, এমনকি অনেক আগে.

লোকেরা আজ যে আসল সীমাবদ্ধতাগুলি আবিষ্কার করেছে, সেগুলি সিএমডি প্রম্পটে রয়েছে যার কমান্ড স্ট্রিংয়ের দৈর্ঘ্যের একটি সীমা রয়েছে, যার মধ্যে ভেরিয়েবল এবং পাথের সম্প্রসারণ অন্তর্ভুক্ত রয়েছে।

http://msdn.microsoft.com/en-us/library/windows/desktop/ms682653(v=vs.85).aspx এখানে মাইক্রোসফ্ট বলেছেন:

"ব্যবহারকারীর সংজ্ঞায়িত পরিবেশের পরিবর্তনশীলের সর্বাধিক আকার 32,767 টি অক্ষর the সর্বাধিক কমান্ড লাইন দৈর্ঘ্যের চেয়ে দীর্ঘতর কোনও ভেরিয়েবল সেট করতে পারে না। "

সেই অবস্থানটিতে ^ তারা রেজিস্ট্রি অবস্থানের দিকে ইঙ্গিত করে যা সিস্টেমের পাথগুলিতে রয়েছে এবং HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment সেখানে অবশ্যই তার বাকী অংশটি পড়তে হবে।

সিএমডি প্রম্পট এবং ব্যাচের সীমাবদ্ধতাটি একবার প্রসারিত হয়ে 2048 চর্যাচার এবং এটি 4x বলে বলা হয় যে নতুন সিস্টেমগুলির জন্য (প্রশংসার প্রয়োজন কারণ লোকেরা এটি দেখছে না)

এছাড়াও http://support.microsoft.com/kb/830473 দেখুন , যা পুরানো সিস্টেমগুলির জন্য কমান্ড প্রম্পট এবং ব্যাচের দৈর্ঘ্য নিয়ে আলোচনা করে।

সেখানে এন্ট্রিগুলি সঠিক কিনা তা নিশ্চিত করার জন্য, উইকির এই কথাটি রয়েছে:
http://en.wikedia.org/wiki/En পরিবেশ_variable

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

সমস্ত অতিরিক্ত পাথ সেখানে থাকা কিছু নির্দিষ্ট জিনিসকে কিছুটা ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে নামিয়ে দেয় it সিএমডি প্রম্পট ব্যাচিং বা ব্যবহার করার পরেও ফাইল আইটেমগুলিতে কল করার সময় পুরো পথ ব্যবহার করা সর্বদা দ্রুততর হবে be

পুরানো ডস লাইক 8.3 কনভেনশন ব্যবহার করা আকার সঙ্কুচিত করার এক উপায়, এই ব্যাচ /programming//a/20362922 ভালভাবে কাজ করে। অরিজিনাল স্ট্রিং ব্যাকআপ করতে নিশ্চিত (আবার)। এই প্রশ্নে অন্যান্য সম্ভাব্য সমাধানগুলিও দেখুন।

আমার দেখতে কেমন লাগছে তা আরও খারাপ হয়েছে।
% সিস্টেমরুট% \ system32;% সিস্টেমরট%

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


সুতরাং আপনি বলছেন যে আমি যদি পথগুলি সরিয়ে ফেলি তবে অ্যাপ্লিকেশনগুলি ব্যর্থ হবে না ?
সিসি ইনক

উইন্ডোজ 7 64-বিট
সিসি ইনক

ইতিমধ্যে আনইনস্টল করা আছে এমন কিছু কি জানেন? কিউটি, এএমডি এবং নিভিডিয়া বের করুন, (আপনি এটির ব্যাক আপ করার পরে) মাবে এবং দেখুন এটি যথেষ্ট সংক্ষিপ্ত কিনা? আমি আমার পোস্ট, এটি প্রায় 140 অক্ষর।
সাইকোজেক

ঠিক আছে, আমি দেখব ..
সিসি ইনক

3
সীমাবদ্ধতা 2048 টি অক্ষরের বলে মনে হচ্ছে । এই বিন্দুর পরে, আমি পরিবেশের ভেরিয়েবল জিইউতে আর কোনও অক্ষর ইনপুট করতে পারি না।
মতিন উলহাক

9

আমার পথে আমার বেশ কয়েকটি সফ্টওয়্যার বিকাশ সম্পর্কিত পরিবেশের ভেরিয়েবল রয়েছে, এর সবগুলিই গুরুত্বপূর্ণ।

উপরের সমাধানটি আমার পক্ষে কাজ করবে না, তাই আমি ডিরেক্টরি জংশনের জন্য গিয়েছিলাম :

  • আমার পথের দীর্ঘতম কয়েকটি পথ বেছে নিন (পছন্দ করুন C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\)
  • আমার জংশনগুলি সঞ্চয় করতে একটি ছোট ফোল্ডার তৈরি করুন: c: \ d store
  • দীর্ঘ পাথের জন্য সংক্ষিপ্ত জংশন তৈরি করুন:

mklink / jc: \ d \ sql "C: \ প্রোগ্রাম ফাইলগুলি (x86) \ মাইক্রোসফ্ট এসকিউএল সার্ভার \ 100 \ সরঞ্জামগুলি inn বিন \ ভিএসএসেল \ কমন 7 \ আইডিই \"

15 টি পথে এটি করার ফলে আমার PATH 2045 থেকে 1285 টি অক্ষর হয়ে গেছে।

আপনি মেশিন থেকে স্টাফ আনইনস্টল করার সময় সমস্যা হতে পারে কারণ জংশনগুলি সেখানে থাকবে এবং আপনাকে সেগুলি নিজেই পরিষ্কার করতে হবে।


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

আপনি সি: \ প্রোগ্রাম ফাইলগুলি (x86) \ মাইক্রোসফ্ট এসকিউএল সার্ভার \ 100 \ সরঞ্জামগুলি inn বিন \ ভিএসহেল \ কমন 7 \ আইডিই for এর জন্য রেজিস্ট্রি পাথ এন্ট্রিটি কী পরিবর্তন করেছেন? c: \ d \ sql?
আউটআউট টাচ

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

এখানে একটি চমৎকার সামান্য কঠিন লিঙ্কে টিউটোরিয়াল এর howtogeek.com/howto/16226/...
ofer.sheffer

1

পথে সর্বোচ্চ অনুমতিযোগ্য হওয়া সত্ত্বেও, আমি স্ট্যাক ওভারফ্লো প্রামাণিক উত্তরগুলি এই বিষয়ে (এবং মাইক্রোসফ্ট রেফারেন্সে) পেয়েছি যে জানিয়েছে যে 2048 বাইটের সর্বাধিক প্রসারিত পথের মান কাজ করবে এবং এর চেয়ে দীর্ঘতর যে কোনও সমস্যা সৃষ্টি করবে। "প্রসারিত" দ্বারা আমি বোঝাতে চাইছি যে% ডিলিমিটর দিয়ে চিহ্নিত কোনও পরিবর্তনশীলগুলি তাদের মানগুলি প্রসারিত মান হিসাবে সন্নিবেশ করানো হবে এবং মোট বর্ধিত দৈর্ঘ্য 2048 বাইটের বেশি হওয়া উচিত নয়। আমি লক্ষ্য করেছি যে এটির কারণগুলির (উইন্ডোজ of হিসাবে) বিভিন্ন ধরণের সমস্যাগুলি হ'ল:

  • মান শেষে পথগুলি চিনতে পারে না
  • সফটওয়্যার বা প্যাচগুলি ইনস্টল করা যা PATH মান পরিবর্তন করে রানটাইম মানটি NULL হয়ে যায়, ফলে উইন্ডোজ চলমান সমস্ত প্রকারের সমস্যা যেমন আপনার সমস্ত স্টার্ট মেনু, ডেস্কটপ এবং টাস্ক বার আইকনগুলির চিত্র হারিয়ে যায় এবং সাধারণ কমান্ড প্রম্পট কমান্ডগুলির মতো " পিং "বা" ipconfig "শো কমান্ড ত্রুটি স্বীকৃত নয়
  • PATH মানগুলির উপর নির্ভরশীল অ্যাপ্লিকেশন প্রোগ্রামগুলি ব্যর্থ হয়

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


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