আপনি কীভাবে পাওয়ারশেলের ডিফল্ট ডিরেক্টরি সেট করবেন?


108

পাওয়ারশেলের ডিফল্ট অবস্থান পরিবর্তন করার কোনও উপায় আছে কি?

আপনি কীভাবে পাওয়ারশেলের ডিফল্ট ওয়ার্কিং ডিরেক্টরি সেট করবেন?


1
এখানে একটি উপায় সম্পাদনা শর্টকাট মাধ্যমে এটা করতে পারে stackoverflow.com/questions/18726981/...
জড়ভরত দার্শনিক

@ ব্লুন্ডারিং ফিলোসফার এটি গিট শেলের জন্য ..?
বিবেক চভদা

@ বিবেকচ্যাভদা ইয়েপ
32

উত্তর:


61

পাওয়ারশেল শুরু করার সময় আপনি ডিরেক্টরিটি খোলার জন্য নির্দিষ্ট করতে পারেন:

powershell.exe -NoExit -command "& {Set-Location $env:systemroot}"

এটি আপনার শর্টকাটে ব্যবহার করুন।

অথবা একটি সূচনা ডিরেক্টরি সেট করতে একটি প্রোফাইল ব্যবহার করুন ।


5
পিএস কোরের জন্য:pwsh.exe -WorkingDirectory C:\YourLocation\Goes\Here
সের্গেই জাইকভ

"সি: \ প্রোগ্রাম ফাইলগুলি \ পাওয়ারশেল \ 6 \ pwsh.exe"
সেম কান

179

নিম্নলিখিতভাবে একটি পাওয়ারশেল প্রোফাইল তৈরি করুন ।

  1. প্রশাসক হিসাবে পাওয়ারশেল চালান এবং নিম্নলিখিত আদেশটি কার্যকর করুন:

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

    এটি পাওয়ারশেলকে স্বাক্ষরিত ইন্টারনেট থেকে স্থানীয় স্ক্রিপ্ট এবং স্ক্রিপ্টগুলি ডাউনলোড করার অনুমতি দেবে। ডকুমেন্টেশনে এই কমান্ডটি সম্পর্কে আরও পড়ুন ।

  2. আপনার Documentsফোল্ডারে, WindowsPowerShellক্লাসিক পাওয়ারশেলের PowerShellজন্য বা নতুন পাওয়ারশেল কোরের জন্য নামযুক্ত একটি ফোল্ডার সন্ধান করুন । যদি এটির অস্তিত্ব না থাকে তবে তা ঠিক আছে; শুধু এটি তৈরি করুন।

  3. একটি নতুন নামের ফাইল তৈরি করুন profile.ps1মধ্যে WindowsPowerShell(অথবা ফোল্ডারের PowerShellPowerShell কোর জন্য)।
  4. profile.ps1আপনার ডিফল্ট ওয়ার্কিং ডিরেক্টরি সেট করতে নিম্নলিখিত কমান্ডটি খুলুন এবং যুক্ত করুন:

    Set-Location C:\my\default\working\directory
  5. একটি নতুন পাওয়ারশেল উইন্ডো খুলুন ... পরিবর্তনগুলি কার্যকর হওয়া উচিত।


1
আমি এটি চেষ্টা করেছি, তবে "প্রোফাইল.ps1 এ লোড করা যায় না কারণ চলমান স্ক্রিপ্টগুলি অক্ষম"। নিরাপদ স্ক্রিপ্টগুলি সক্ষম করার জন্য কি "নিরাপদ" উপায় আছে?
জন লিটল

3
এটি চালান: "সেট-এক্সিকিউশনপলিসি-এক্সিকিউশনপলিসি রিমোটসাইনড" আপনি এটি সম্পর্কে এখানে পড়তে পারেন: টেকনেট.মাইক্রোসফট.টেন / লিবেরি / আই 176961.aspx এটি ডাউনলোড করা স্ক্রিপ্টগুলি বিশ্বস্ত থেকে না আসা পর্যন্ত চালানোর অনুমতি দেয় না unless উৎস.
এলএলএল

7
এটি করার এটি একটি অত্যন্ত খারাপ উপায় কারণ যদি আপনার কাছে উদাহরণস্বরূপ একটি বিল্ড স্ক্রিপ্ট থাকে (যেমন ভিজ্যুয়াল স্টুডিও বিল্ড স্ক্রিপ্ট) এবং আপনি যদি একটি পিএস কমান্ড চালাতে চান তবে কমান্ডের কার্যকরী ডিরেক্টরিটি সেই স্থানে সেট করা হবে, সুতরাং এটি মূলত হবে পাওয়ারশেল ব্যবহার করে সমস্ত স্ক্রিপ্টগুলি ভাঙ্গুনpowershell -File "myscript.ps1"
স্যান্থোস

2
যদি এটি একটি খারাপ বিকল্প, এটি করার আরও ভাল / নিরাপদ উপায় আছে কি?
আদম_জি

4
আমাকে নিজের সংশোধন করি পাওয়ারশেল স্ক্রিপ্টগুলি লেখার সময়, যেমন বিল্ড করার জন্য, সর্বদা -নোপ্রোফাইল বিকল্পটি ব্যবহার করুনpowershel -NoProfile -File "myscript.ps1"
সান্থোস

33

আমি উপরোক্ত উত্তরগুলি সফলভাবে ছাড়াই উইন্ডোজ সার্ভার 2016 এ চেষ্টা করেছিলাম ।

তবে আমি এই পদ্ধতির (উইন্ডোজ 10 এর জন্য একই হওয়া উচিত) আমার জন্য কাজ করে দেখলাম।

  1. পাওয়ারশেল সেশন শুরু করুন
  2. টাস্কবারে ডান-ক্লিক করুন এবং সেখানে একটি লিঙ্ক রাখতে পিন করুন
  3. আবার টাস্কবারের আইকনটিতে ডান ক্লিক করুন এবং তারপরে উইন্ডোজ পাওয়ারশেলটিতে ডান ক্লিক করুন এবং বৈশিষ্ট্যগুলি নির্বাচন করুন
  4. শুরুতে আপনার পছন্দসই ডিরেক্টরিটি প্রবেশ করান : ইনপুট ক্ষেত্রে করুন এবং ঠিক আছে চাপুন
  5. টাস্কবার আইকন থেকে শুরু করুন

সম্পন্ন!

একই বৈশিষ্ট্য কথোপকথনে আপনি অন্যান্য অনেক সেটিংসের মতো ফন্ট, রঙ, মাপ এবং শর্টকাট ট্যাবে বোতামের মাধ্যমে পরিবর্তন করতে পারেন Advanced। যদি সেই পাওয়ারশেল সেশনটি প্রশাসকের সুযোগ-সুবিধার সাথে চালিত হয় তবে আপনি নির্বাচন করতে পারেন।


5
আপনি যখন উন্নত মেনুতে যাচাই Run as administratorকরেন তখন কার্যকারী ডিরেক্টরি পরিবর্তন করা কাজ করে না বলে মনে হয় .lnk। সমাধান এখানে মনে করা হয় stackoverflow.com/questions/31622469/...
Santhos

এটি অদ্ভুত, কারণ এটি এখানে কাজ করে। সবেমাত্র dir পরিবর্তন করে এবং Run as aministratorচেকবাক্সটি পিছনে পিছনে পরিবর্তন করে পরীক্ষা করা হয়েছে।
নিউওংরাউ

একটি কবজ কাজ করে। ধন্যবাদ।
ইয়াসের শেখ

12

ডিফল্ট ডিরেক্টরি সেট করার একটি সহজ উপায় হল:

  1. উইন্ডোজ পাওয়ারশেল আইকনটিতে ডান ক্লিক করুন এবং শুরু করতে পিন করুন
  2. স্টার্টে উইন্ডোজ পাওয়ারশেল আইকনটিতে ডান ক্লিক করুন এবং আবার উইন্ডোজ পাওয়ারশেলটিতে ডান ক্লিক করুন এবং বৈশিষ্ট্যগুলি ( অ্যাডমিনিস্ট্রেটর হিসাবে চালান না উইন্ডোজ পাওয়ারশেল আইএসই নয় ) নির্বাচন করুন

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

    1. ইন শর্টকাট ট্যাব - ক্ষেত্র 'থেকে স্টার্ট'>, অবস্থান পরিবর্তন আপনি PowerShell শুরু করতে চাই।

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


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

4

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

একটি বিকল্প সমাধান হ'ল .lnkসাধারণত ফাইলগুলির পাওয়ার ফাইলের কার্যকারী ডিরেক্টরি পরিবর্তন করা %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell। কোনও লিঙ্কে ডান ক্লিক করুন, এবং কার্য ডিরেক্টরিটি আপনার পছন্দ ডিরেক্টরি থেকে পরিবর্তন করুন %HOMEDRIVE%%HOMEPATH%


1
আপনি যখন উন্নত মেনুতে যাচাই Run as administratorকরেন তখন কার্যকারী ডিরেক্টরি পরিবর্তন করা কাজ করে না বলে মনে হয় .lnk। সমাধান এখানে মনে করা হয় stackoverflow.com/questions/31622469/...
Santhos

এটি সেরা সমাধান (আমার পক্ষে, কমপক্ষে)।
Anders Arpi

এজন্য স্ক্রিপ্টগুলিতে -NoProfileবিকল্পটি ব্যবহার করা উচিতpowershell -NoProfile -File "myscript.ps1"
সান্থোস

4

পাওয়ারশেলে এটি টাইপ করুন:

New-Item -path $profile -type file force

এটি পাওয়ারশেল ফোল্ডারে একটি .ps1 ফাইল তৈরি করে। এটি খুলুন এবং এটিকে সম্পাদনা করুন:

Set-location C:\files

সম্পন্ন

এই লিঙ্কটি দেখুন। এটা ভাল কাজ করে।

পাওয়ারশেল শুরু ডিরেক্টরি পরিবর্তন করুন


3

পূর্ববর্তী উত্তরে উল্লিখিত হিসাবে নিঃশর্তভাবে ওয়ার্কিং ডিরেক্টরি পরিবর্তন করার পরিবর্তে, Set-Locationযখনই প্রয়োজন হয় দ্রুত ডিরেক্টরি ডিরেক্টরি পরিবর্তন করার জন্য আপনি পাওয়ারশেল প্রোফাইলে একটি সাধারণ ফাংশন লিখতে পারেন ।

পরীক্ষা করে দেখুন জেরেমি Danyow এর উত্তর / তৈরি একটি PowerShell প্রফাইল পরিবর্তন করতে।

আপনার পাওয়ারশেল প্রোফাইলে একটি ফাংশন (গুলি) যুক্ত করুন:

function goto_this {set-location 'your\path\to\some\dir'}
function goto_that {set-location 'your\path to some\dir with space'}

কেবলমাত্র ফাংশনটির নাম এবং ডিরেক্টরিটি নির্দেশিত করুন। পথটিতে কোট ব্যবহার করা বাধ্যতামূলক যদি এতে স্পেস থাকে। আমি উপসর্গটি রাখার চেষ্টা করি goto_কারণ এটি ফাংশনগুলির নাম মনে রাখতে সহায়তা করে।

আপনি টাইপ করা শুরু করতে পারেন goto_এবং সমস্ত সংযুক্ত ফাংশনগুলি সক্রিয় করতে TAB টিপুন (ফাংশনগুলি সংযোজন / সংশোধন করার পরে একটি নতুন পাওয়ারশেল উইন্ডো শুরু করার বিষয়টি মনে রাখবেন)।


1

কমান্ড লাইনটি ব্যবহার করে যদি কোনও ফাইল ইতিমধ্যে উপস্থিত থাকে তবে এটি এতে যুক্ত হবে:

$(if (-Not (Test-Path ~\Documents\WindowsPowerShell\)){ mkdir ~\Documents\WindowsPowerShell\}) ; echo "Set-Location c:\THELOCATIONYOUWANT" >> ~\Documents\WindowsPowerShell\profile.ps1

1

এটির সাথে, "ওয়ার্কিং ডিরেক্টরি" এবং পাওয়ারশেলের "অবস্থান" সম্পর্কে কিছুটা বিভ্রান্তি রয়েছে বলে মনে হচ্ছে। এখানকার বেশিরভাগ লোকেরা যা করছেন, এবং যা করছেন তা হ'ল পাওয়ারশেলের "অবস্থান" পরিবর্তন করা। "ওয়ার্কিং ডিরেক্টরি" আসলে আলাদা। এখানে নিবন্ধে এটি ব্যাখ্যা করা হয়েছে।

যারা নিবন্ধটি পড়তে চান না তাদের জন্য: পাওয়ারশেলটি খুলুন এবং অন্যরা যা বলেছে তা ব্যবহার করুন Set-Location "C:\some\directory"। লক্ষ্য করুন যে আপনার "ওয়ার্কিং ডিরেক্টরি" এখনও রয়েছে যেখানে আপনার পাওয়ারশেলটি খোলা হয়েছিল। হয় "~"বা তার "%SYSTEMROOT%\system32"উপর নির্ভর করে আপনি প্রশাসক হিসাবে দৌড়েছিলেন কিনা। কাজের ডিরেক্টরিটি পরীক্ষা করতে, ব্যবহার করুন[Environment]::CurrentDirectory

দ্রষ্টব্য: নিবন্ধে লেখক এই কমান্ডটি ব্যবহার করে "ওয়ার্কিং ডিরেক্টরি" পরীক্ষা করতে বলেছেন:

\[Environment\]::CurrentDirectory

আমি নিশ্চিত না যে এটি পুরনো পাওয়ারশেল সংস্করণগুলির সাথে কাজ করে তবে পাওয়ারশেল 5 (এবং পরবর্তী) এর সাথে আপনাকে ব্যবহার করতে হবে [Environment]::CurrentDirectory


0

আপনার প্রোফাইল.ps1 এ এটি প্রথম লাইন করুন এবং আপনি বর্তমানে যে ডিরেক্টরিটিতে কাজ করছেন তা পাওয়ারশেল কোর (pwsh) খুলবে:

সেট-লোকেশন (গেট-লোকেশন) .পথ


0

লিখুন-আউটপুট "সেট-অবস্থান সি: \" >> $ প্রোফাইল


0

এই সমাধানটি বর্তমান কার্যকারী ফোল্ডারটি সেই স্থানে সেট করে যেখানে স্ক্রিপ্টটি অবস্থিত। আপনার স্ক্রিপ্টের শুরুতে, বা অবস্থানের পথে নির্ভর কমান্ডটি ব্যবহার করার চেষ্টা করার আগে অবশ্যই নিশ্চিত হন।

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