উইন্ডোজ PATH / পরিবেশ পরিবর্তনশীল পরিচালনার জন্য সেরা অনুশীলন?


22

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

আমি এগুলি অনুলিপি করার জন্য একটি হোম ফোল্ডারে এগুলি অনুলিপি করা এবং আটকানোতে সতর্ক এবং তার দিকে পথ নির্ধারণ করতে; এটা ঠিক ভুল মনে হচ্ছে। আমি কি অনুপস্থিত একটি প্রতিষ্ঠিত সেরা অনুশীলন আছে?


এটি এমন একটি দুর্দান্ত প্রশ্ন - প্রোগ্রামগুলি পরিচালনা করা ইউনিক্সের পক্ষে এত সহজ তবে উইন্ডোজে এ জাতীয় ব্যথা। এটি লজ্জাজনক যে একমাত্র সমাধানগুলি এখনও এইরকম কঠোর পরিশ্রমের মতো মনে হয় ...
ব্যবহারকারী 10550

উত্তর:


13

আমার %UserProfile%\Appsফোল্ডারে আর্কাইভ এবং এর মতো অনেকগুলি ছোট ছোট স্ব-সংযুক্ত ইউটিলিটি রয়েছে । তারপরে এমন অনেকগুলি ব্যাচ ফাইল রয়েছে যা আমি লিখেছিলাম এবং প্রায়শই ব্যবহার করে যা কোনটিতে থাকে %UserProfile%\Batches। বাকিগুলির জন্য, আমি কেবল তাদেরগুলিতে যুক্ত করি PATH, যা হয় কোনও ইনস্টলার দ্বারা বা এর দ্বারা সম্পন্ন হয়

setx PATH "%PATH%;%CD%"

উপযুক্ত ডিরেক্টরি থেকে। বিষয়বস্তু খুব বেশি দীর্ঘ হলে (পরিবেশের ভেরিয়েবলের দৈর্ঘ্যের সীমা রয়েছে) কেবলমাত্র সেখানে পাথের সংখ্যা সম্ভবত একটি সমস্যা হয়ে উঠবে।

আপনি (এবং আমি মাঝে মাঝে করি) এই জাতীয় প্রোগ্রামগুলির জন্য ছোট র‌্যাপার ব্যাচ ফাইল লিখতে পারি। এক্সিকিউটেবলকে অন্য ডিরেক্টরিতে কেবল অনুলিপি / হার্ডলিঙ্কিং / সিমলিংক করা উইন্ডোজটিতে সম্ভবত কাজ করবে না তবে আপনি খুব সহজেই একটি ব্যাচ ফাইল তৈরি করতে পারবেন, উদাহরণস্বরূপ প্রোগ্রাম ফু:

@"%ProgramFiles%\Foosoft Foo\foo.exe" %*

এবং তারপরে আপনি সেই ফোল্ডারটি যুক্ত করতে পারেন যেখানে আপনি এই ব্যাচ ফাইলগুলিকে আপনার স্টোর করেন PATH


এই মোড়ক ব্যাচের ফাইলগুলি কীভাবে কাজ করবে? তারা প্রকৃত পথ প্রয়োজন হিসাবে ঠিক কাজ করে? যদি তা হয় তবে এটি আশ্চর্যজনক।
জাস্টিন এল।

@ জাস্টিন: তারা কেবলমাত্র ব্যাচ ফাইলকে দেওয়া সমস্ত যুক্তি প্রকৃত প্রোগ্রামে পেশ করে। যেখানে এটি বাস করে সেখানে নিজেকে জানতে হবে।
জোয়

হুঁ; আমার স্পষ্ট করে বলা উচিত - বাইনারি ডিরেক্টরিটি PATH- এ যুক্ত করার এবং PATH- তে থাকা একটি কাস্টম ডিরেক্টরিতে বাইনারিটির একটি ওয়েপার ব্যাচ ফাইল তৈরি করার মধ্যে কোনও কার্যকরী পার্থক্য রয়েছে কি?
জাস্টিন এল।

@ জাস্টিন: আপনি যদি আবার ব্যাচ ফাইলগুলিতে ব্যাচ ফাইলগুলি ব্যবহার করেন তবে তা রয়েছে। এর বাইরে আমি কারও সম্পর্কে সচেতন নই।
জোয়

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

10

আমি কোনও নির্দিষ্ট সেরা অনুশীলন সম্পর্কে নিশ্চিত নই। তবে আমি PATH ভেরিয়েবলগুলি পরিচালনা করতে GUI PATH সম্পাদক সরঞ্জামগুলি ব্যবহার করতে পছন্দ করি। যাতে এটি পরিষ্কারভাবে বজায় রাখা যায়।

পাঠ সম্পাদকের তালিকা -

দ্রুত পরিবেশ সম্পাদক

রেডমন্ড পাথ সম্পাদক


গ্রাফিকাল সম্পাদকরা জিনিসগুলি অনেক সহজ করে তুলতে পারে তিনি
জাস্টিন এল

রেডমন্ড PATH সম্পাদক হ'ল আমি যে ধরণের জিনিসটি খুঁজছিলাম is +1
নাথান রিডলি

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

2

এখন যেহেতু বেশিরভাগ উইন্ডোজ মেশিনগুলি পাওয়ারশেলের সাথে আসে, আমি আমার ব্যবহারকারী প্রোফাইলে অনেকগুলি সাল / সেট-এলিয়াস কমান্ড ব্যবহার করি, সুতরাং যদি কোনও অ্যাপ্লিকেশনটিতে আমি ব্যবহার করি এমন একটি বা দুটি অ্যাপ্লিকেশন থাকে তবে আমি যুক্ত করার পরিবর্তে কেবল সেই দুটি কমান্ডের জন্য উপকরণ তৈরি করব the পথে পুরো অ্যাপ্লিকেশন ফোল্ডার। উদাহরণগুলির মধ্যে রয়েছে এসকিউএল পরিচালন স্টুডিও, নোটপ্যাড ++, টিএফএস পাওয়ার সরঞ্জামগুলি (কমান্ড-লাইন সরঞ্জাম, tfpt.exe)। আমি আমার ব্যবহারকারীর প্রোফাইলটি মেশিনগুলিতেও অনুলিপি করি, সুতরাং এটির সাহায্যে আমার বর্তমান মেশিনে সেই অ্যাপ্লিকেশনটির অস্তিত্ব যাচাই করতে দেয় (কখনও কখনও অ্যাপ্লিকেশন ইনস্টল না করা থাকলে সতর্কতা)।

filter ctQuoteString { "`"$_`"" }
filter ctResolvePath { Resolve-Path $_ | select -ExpandProperty Path | ctQuoteString } # used in Edit.ps1

$nppExe = "C:\Program Files (x86)\Notepad++\notepad++.exe"
if ((Test-Path variable:\nppExe) -and (Test-Path $nppExe)) {
    function EditNotepadPP { 
        param ([parameter(ValueFromPipelineByPropertyName=$true)][Alias("FullName","FileName")]$Path) 
        begin { if (! $nppExe) { throw 'variable $nppExe is not defined' } }
        process {
            $Path | ctResolvePath | % { # ctResolvePath will get full path and surround with quotes
                & $nppExe $_
            }
            #AddEditHistory $Path #if you need detailed time tracking, might help to create a log what files you're editting
       } 
    }
    Set-Alias npp EditNotepadPP
}

# I have similar functions for other apps.
Set-Alias vs EditVS
Set-Alias tfe EditTFCheckout
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.