উইন্ডোজ পাওয়ারশেল: কমান্ড প্রম্পট পরিবর্তন করা


86

উইন্ডোজ পাওয়ারশেল ব্যবহার করে, আমি কমান্ড প্রম্পটটি কীভাবে পরিবর্তন করব?

উদাহরণস্বরূপ, ডিফল্ট প্রম্পট বলে

PS C:\Documents and Settings\govendes\My Documents>

আমি সেই স্ট্রিংটি কাস্টমাইজ করতে চাই।

উত্তর:


110

কেবলমাত্র promptআপনার পাওয়ারশেল প্রোফাইলে ফাংশনটি রেখে দিন ( notepad $PROFILEযেমন:

function prompt {"PS: $(get-date)>"}

বা রঙিন:

function prompt
{
    Write-Host ("PS " + $(get-date) +">") -nonewline -foregroundcolor White
    return " "
}

4
notepad $PROFILEঅ্যাডমিন পাওয়ারশেল প্রম্পট থেকে উইন্ডোজ 7 এ কাজ করে না
jcollum

19
আহ্, আমি দেখতে পাচ্ছি যে আপনার প্রোফাইলটি প্রথমে তৈরি করা দরকার:new-item -itemtype file -path $profile -force
jcollum

4
দ্রষ্টব্য: আপনি আপনার প্রোফাইলে ফাংশনটি সংরক্ষণের পরিবর্তে প্রম্পট পাথটি পরিবর্তন করতে পাওয়ারশেলের মধ্যে প্রম্পট ফাংশনটি কেবল পেস্ট করতে পারেন, তবে প্রতিবার আপনি পাওয়ারশেল চালু করার সময় আপনাকে এটি করতে হবে।
ল্যারি ব্যাটেল

4
আপনার প্রশাসক হিসাবে পাওয়ারশেল চালানো এবং করাও দরকার Set-ExecutionPolicy RemoteSigned
কিড

4
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestrictedআপনি যদি কেবলমাত্র বর্তমান ব্যবহারকারীর জন্য পরিবর্তন করতে চান বা অ্যাডমিন হিসাবে চালাতে না পারেন তবে @ কিড করুন
সিজেড

21

ওকাসো প্রোটালের উত্তরের মন্তব্যের সাথে সম্পর্কিত , উইন্ডোজ সার্ভার ২০১২ এর পাশাপাশি উইন্ডোজ ((পাওয়ারশেল উইন্ডোতে) এর জন্য নিম্নলিখিতগুলি প্রয়োজনীয়:

new-item -itemtype file -path $profile -force
notepad $PROFILE

আপনি যদি একাধিক ব্যবহারকারীর নাম (যেমন নিজেকে + একটি প্রোডাক্ট লগইন) দিয়ে চালান তবে আমি প্রম্পট হিসাবে নিম্নলিখিতটি প্রস্তাব করব:

function Global:prompt {"PS [$Env:username]$PWD`n>"} 

(ক্রেডিট এটির জন্য ডেভিড আই। ম্যাকিনটোশকে to


4
আপনার প্রশাসক হিসাবে পাওয়ারশেল চালানো এবং করাও দরকার Set-ExecutionPolicy RemoteSigned
কিড

11

প্রম্পটে, আমি একটি বর্তমান টাইমস্ট্যাম্প পছন্দ করি এবং নেটওয়ার্ক ড্রাইভের জন্য সমাধান করা ড্রাইভ চিঠিগুলি। এটিকে আরও পঠনযোগ্য করে তোলার জন্য, আমি এটি দুটি লাইনে রেখেছি এবং রঙগুলি দিয়ে কিছুটা খেললাম।

সিএমডি সহ, আমি শেষ করেছি

PROMPT=$E[33m$D$T$H$H$H$S$E[37m$M$_$E[1m$P$G

পাওয়ারশেলের জন্য, আমি একই ফলাফল পেয়েছি:

function prompt {
    $dateTime = get-date -Format "dd.MM.yyyy HH:mm:ss"
    $currentDirectory = $(Get-Location)
    $UncRoot = $currentDirectory.Drive.DisplayRoot

    write-host "$dateTime" -NoNewline -ForegroundColor White
    write-host " $UncRoot" -ForegroundColor Gray
    # Convert-Path needed for pure UNC-locations
    write-host "PS $(Convert-Path $currentDirectory)>" -NoNewline -ForegroundColor Yellow
    return " "
}

যা কিছুটা বেশি পঠনযোগ্য :-)

বিটিডাব্লু:

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

আমি যা খুঁজছিলাম!
গ্লেন লিটল

8

আপনি যদি এটি নিজে করতে চান তবে ওকাসো প্রোটালের উত্তরটি যাওয়ার উপায়। তবে আপনি যদি আমার মতো অলস হন এবং এটি আপনার জন্য কিছু করতে চান তবে আমি লূক স্যাম্পসনের Pshazz প্যাকেজটির জন্য অত্যন্ত পরামর্শ দিই

আপনি কতটা অলস হতে পারেন তা কেবল আপনাকে দেখানোর জন্য, আমি একটি দ্রুত টিউটোরিয়াল সরবরাহ করব।

  • স্কুপ ( scoop install pshazz) সহ Pshazz ইনস্টল করুন
  • একটি সুন্দর পূর্বনির্ধারিত থিম ব্যবহার করুন ( pshazz use msys)
  • (রুট) বিয়ার পান করুন

Pshazz আপনাকে নিজের থিম তৈরি করতেও অনুমতি দেয় যা জেএসএন ফাইল কনফিগার করার মতোই সহজ। এটি কতটা সহজ তা দেখতে আমার পরীক্ষা করে দেখুন!


7

আমি যে ড্রাইভ লেটারটি ব্যবহার করি তা কেবল প্রদর্শন করতে:

            function prompt {(get-location).drive.name+"\...>"}

তারপরে আমি যে পথটি ব্যবহার করি তাতে ফিরে যেতে:

            function prompt {"$pwd>"}

5

ওয়ারেন স্টিভেনসের উত্তরের এই সংস্করণটি যদি আপনি Set-Locationনেটওয়ার্ক শেয়ারে যান তবে "মাইক্রোসফ্ট.পাওয়ারশেল। কোর \ ফাইলসিসটম" শোরগোলটি এড়িয়ে চলে ।

function prompt {"PS [$Env:username@$Env:computername]$($PWD.ProviderPath)`n> "} 
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.