একক এন্ট্রি সহ PATH ভেরিয়েবলের একটি ডিরেক্টরি এবং সমস্ত উপ-ডিরেক্টরিগুলি যুক্ত করুন


19

আমি আমার হোম ফোল্ডারে একটি ডিরেক্টরি পেয়েছি যেখানে আমি কমান্ড-লাইন সফ্টওয়্যার (সিএমডি_সফটওয়্যার) রাখি। বিশৃঙ্খলা এড়াতে আমি প্রত্যেকটি সফ্টওয়্যার সিএমডি_সওয়ার্টওয়ারের মধ্যে নিজস্ব ডিরেক্টরিতে রেখেছি।

আমি আমার PATH ভেরিয়েবলের মধ্যে একটি একক প্রবেশ করতে চাই যা সিএমডি_সওয়ার্টওয়্যার এবং এতে কমান্ড লাইন থেকে থাকা সমস্ত ডিরেক্টরিতে অ্যাক্সেসের অনুমতি দেবে।

আমি চেষ্টা করেছিলাম C:\Users\myuser\CMD_Software\*কিন্তু কিছুই করেনি। এটাই যে আমি ধারণার বাইরে চলে গেছে।

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


আপনি কি `সি: \ ব্যবহারকারী \ মাইউজার \ সিএমডি_সোফওয়্যার * like এর মতো কিছু চেষ্টা করেছিলেন?
টেরডন

4
আমি মনে করি না এটি সম্ভব।
হ্যারি জনস্টন

উত্তর:


16

PATH ভেরিয়েবলটি ওয়াইল্ডকার্ড বা পুনরাবৃত্তি সমর্থন করে না। এটি নকশা দ্বারা।

দুটি উপলভ্য কাজের ক্ষেত্র রয়েছে যা আমি উপলক্ষে ব্যবহার করেছি:

  • সাধারণ ব্যাচ ফাইল সহ একটি ডিরেক্টরি তৈরি করুন এবং সেই ডিরেক্টরিটি PATH এ যুক্ত করুন। প্রতিটি ব্যাচের ফাইল আপনার পছন্দসই প্রোগ্রামটি চালু করতে পারে, উদাহরণস্বরূপ:

    :: CMD_Software.bat: start CMD_Software
    @C:\Users\myuser\CMD_Software\CMD_Software.exe %*
    

    প্রথম লাইনটি একটি মন্তব্য, দ্বিতীয়টি @কমান্ডটি চালিত হচ্ছে না দেখানোর জন্য শুরু করা হয় এবং %*কোনও কমান্ড লাইন আর্গুমেন্টটি EXE এ পাস করতে ব্যবহৃত হয়।

  • সিএমডি.এক্সইএর জন্য উপকরণ যুক্ত করুন:

    DOSKEY CMD_Software="C:\Users\myuser\CMD_Software\CMD_Software.exe" $*
    

    এটি CMD_Softwareকমান্ড প্রম্পটে মূলত সমান চিহ্নের পরে সবকিছুতে অনুবাদ করে। $*সরবরাহকৃত আর্গুমেন্ট সহ প্রতিস্থাপিত হয়।

আমি দ্বিতীয় পদ্ধতির পছন্দ করি, কারণ আপনি একটি ফাইলে সমস্ত এলিয়াসকে গ্রুপ করতে পারেন (ডসকি /? এ "/ ম্যাক্রোফিল" স্যুইচটি দেখুন) এবং যখনই কমান্ড ইন্টারপ্রেটার রেজিস্ট্রি সেটিংস ব্যবহার শুরু করে (অটোআরুন "কীটি দেখুন) সিএমডি /?)।

দ্বিতীয় পদ্ধতির একটি অপূর্ণতা হ'ল এ্যালাইজগুলি কেবল একটি কমান্ড লাইনের শুরুতে কাজ করে। কমান্ড চেইন করতে চাইলে এটি সমস্যা হতে পারে। উদাহরণস্বরূপ, CLS & CMD_Softwareআপনি বন্ধনী ব্যবহার করে একটি পৃথক লাইনে উপন্যাসটি না লাগিয়ে কাজ করবে না:

CLS & (
CMD_Software
)

যখনই এটি কোনও সমস্যা হয়ে যায়, আমি কেবল ব্যাচের ফাইলের পদ্ধতির কাছে ফ্যালব্যাক করি।


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

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

4

সমস্যাটি সমাধানের জন্য এটিই আমি ব্যবহার করি। নীচে এই স্ক্রিপ্টটি অনুলিপি করুন এবং FIXPATH.BATআপনি যে PATHপরিবেশে পরিবর্তনশীল যুক্ত করেছেন সেই ফোল্ডারে এটি সংরক্ষণ করুন । এই ক্ষেত্রে:

সি: \ ব্যবহারকারী \ myuser \ CMD_Software \

এখন যখনই আপনাকে সাবফোল্ডারে থাকা কোনও প্রোগ্রাম চালানোর দরকার হবে, বলুন ...

সি: \ ব্যবহারকারী \ myuser \ CMD_Software \ unixutils \ grep.exe
অথবা
সি: \ ব্যবহারকারী \ myuser \ CMD_Software \ imagetools \ exiftool.exe

fixpathপ্রথমে দৌড়ুন তারপর কমান্ডটি (যেমন grepবা exiftool) লিখুন :

মাইক্রোসফ্ট উইন্ডোজ [সংস্করণ 6.3.9600]
(গ) 2013 মাইক্রোসফ্ট কর্পোরেশন। সমস্ত অধিকার সংরক্ষিত.

সি: \ ব্যবহারকারী \ myuser> fixpath
সি: \ ব্যবহারকারী \ myuser> exiftool


FIXPATH.BAT

সেটলোকাল সক্ষম করুনডেলায়েড এক্সপেনশন
সিডি / ডি% ~ ডিপি0

(।) do (/) এর জন্য / আর %% d (
    "dirs =! dirs!%% d" সেট করুন
)

পাথ =% পাথ%! dirs!
(endlocal
    "ret =% PATH%" সেট করুন
)
সেমিডি / কে "শিরোনাম [#] পথ স্থির [#] && পথ% ret%"
প্রস্থান / বি

@ ভনসির উত্তরের জন্য ধন্যবাদ


1

একটি "প্রোগ্রামলিঙ্কস sub" উপ-ডিরেক্টরিকে ... \ সিএমডি_সোফওয়্যার (অথবা যে কোনও জায়গায় আসলে) এর অধীনে রাখুন এবং আপনি যে এক্সিকিউটেবল অ্যাক্সেস করতে চান তার প্রতীকী লিঙ্ক বা হার্ডলিঙ্কগুলি দিয়ে এটি পূরণ করুন। তারপরে ... \ প্রোগ্রামলিঙ্কগুলির জন্য PATH এ একটি একক প্রবেশ যথেষ্ট হবে।


1
এটির সাথে মুখ্য সমস্যাটি হ'ল যদি কোনও লাইব্রেরি থাকে যা এক্সিকিউটেবলটি এক্সের মতো একই ডিরেক্টরিতে সম্ভাব্য অবস্থানে নির্ভর করে তবে সেগুলি ব্যবহার করা হবে না। বা কমপক্ষে এটি দিয়ে আমার প্রচেষ্টায় যা ঘটছে।
শূন্য 298

দুর্দান্ত মন্তব্য, @ শূন্য ২৯৮। যদিও আমি চাই, কেউ যদি 100% নিশ্চিত এবং এই ঐকতান দয়া করে আসলে সত্য নিশ্চিত করতে পারেন। (কারণ এই পদ্ধতি অন্যথায় সব পরম পরিষ্কার হয়।)
হেনরিক

-1

আপনি যদি ধারণাটি থেকে খুব বেশি বিরত না হন তবে আপনি আপনার কমান্ড লাইন সরঞ্জামগুলি উইন্ডোজ \ System32 ডিরেক্টরিতে অনুলিপি করতে পারেন। তারপরে আপনি এগুলি যে কোনও ডিরেক্টরি থেকে চালাতে পারেন, ঠিক যেমন পিং বা আইকনফিগ।


কিছুটা ঘোরাঘুরি করার পরে সম্পাদনা করুন , এটি সম্ভব। আপনার ডিরেক্টরিগুলি সীমিত করতে আপনার কেবলমাত্র সেমিকোলন ব্যবহার করতে হবে use বলুন আপনার "ফোল্ডার 1" এবং "ফোল্ডার 2" তে একটি প্রোগ্রাম ছিল। আপনি আপনার পথটি এভাবে লিখবেন:

c:\folder1\;c:\folder2\;c:\folder3\;    etc....

তারপরে আপনি কমান্ড লাইন থেকে সরাসরি কোনও ডিরেক্টরিতে একটি প্রোগ্রাম কল করতে পারেন। এএফআইকেকে কেবল একক লাইনে এটি করার কোনও উপায় নেই।

সহায়ক তথ্য: http://en.wikedia.org/wiki/PATH_( পরিবর্তনশীল)


1
এটি অনেক অর্থবোধ করে না। 1. এটি PATH ভেরিয়েবলের আগের কোনও সামগ্রী মুছে ফেলবে । ২. PATH ভেরিয়েবলটিতে কেবল ফোল্ডার থাকবে, এর উপ-ডিরেক্টরি (পছন্দসই ফলাফল) নয়। 3. invoking program.batযেমন %PATH%\program.batহয় বেশী বা কম কি পাথ জন্য ডিজাইন করা হয়েছে বিপরীত।
ডেনিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.