পাওয়ারশেলের ডিফল্ট অবস্থান পরিবর্তন করার কোনও উপায় আছে কি?
আপনি কীভাবে পাওয়ারশেলের ডিফল্ট ওয়ার্কিং ডিরেক্টরি সেট করবেন?
পাওয়ারশেলের ডিফল্ট অবস্থান পরিবর্তন করার কোনও উপায় আছে কি?
আপনি কীভাবে পাওয়ারশেলের ডিফল্ট ওয়ার্কিং ডিরেক্টরি সেট করবেন?
উত্তর:
পাওয়ারশেল শুরু করার সময় আপনি ডিরেক্টরিটি খোলার জন্য নির্দিষ্ট করতে পারেন:
powershell.exe -NoExit -command "& {Set-Location $env:systemroot}"
এটি আপনার শর্টকাটে ব্যবহার করুন।
অথবা একটি সূচনা ডিরেক্টরি সেট করতে একটি প্রোফাইল ব্যবহার করুন ।
pwsh.exe -WorkingDirectory C:\YourLocation\Goes\Here
নিম্নলিখিতভাবে একটি পাওয়ারশেল প্রোফাইল তৈরি করুন ।
প্রশাসক হিসাবে পাওয়ারশেল চালান এবং নিম্নলিখিত আদেশটি কার্যকর করুন:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
এটি পাওয়ারশেলকে স্বাক্ষরিত ইন্টারনেট থেকে স্থানীয় স্ক্রিপ্ট এবং স্ক্রিপ্টগুলি ডাউনলোড করার অনুমতি দেবে। ডকুমেন্টেশনে এই কমান্ডটি সম্পর্কে আরও পড়ুন ।
আপনার Documentsফোল্ডারে, WindowsPowerShellক্লাসিক পাওয়ারশেলের PowerShellজন্য বা নতুন পাওয়ারশেল কোরের জন্য নামযুক্ত একটি ফোল্ডার সন্ধান করুন । যদি এটির অস্তিত্ব না থাকে তবে তা ঠিক আছে; শুধু এটি তৈরি করুন।
profile.ps1মধ্যে WindowsPowerShell(অথবা ফোল্ডারের PowerShellPowerShell কোর জন্য)।profile.ps1আপনার ডিফল্ট ওয়ার্কিং ডিরেক্টরি সেট করতে নিম্নলিখিত কমান্ডটি খুলুন এবং যুক্ত করুন:
Set-Location C:\my\default\working\directoryএকটি নতুন পাওয়ারশেল উইন্ডো খুলুন ... পরিবর্তনগুলি কার্যকর হওয়া উচিত।
powershell -File "myscript.ps1"
powershel -NoProfile -File "myscript.ps1"
আমি উপরোক্ত উত্তরগুলি সফলভাবে ছাড়াই উইন্ডোজ সার্ভার 2016 এ চেষ্টা করেছিলাম ।
তবে আমি এই পদ্ধতির (উইন্ডোজ 10 এর জন্য একই হওয়া উচিত) আমার জন্য কাজ করে দেখলাম।
সম্পন্ন!
একই বৈশিষ্ট্য কথোপকথনে আপনি অন্যান্য অনেক সেটিংসের মতো ফন্ট, রঙ, মাপ এবং শর্টকাট ট্যাবে বোতামের মাধ্যমে পরিবর্তন করতে পারেন Advanced। যদি সেই পাওয়ারশেল সেশনটি প্রশাসকের সুযোগ-সুবিধার সাথে চালিত হয় তবে আপনি নির্বাচন করতে পারেন।
Run as administratorকরেন তখন কার্যকারী ডিরেক্টরি পরিবর্তন করা কাজ করে না বলে মনে হয় .lnk। সমাধান এখানে মনে করা হয় stackoverflow.com/questions/31622469/...
Run as aministratorচেকবাক্সটি পিছনে পিছনে পরিবর্তন করে পরীক্ষা করা হয়েছে।
ডিফল্ট ডিরেক্টরি সেট করার একটি সহজ উপায় হল:
স্টার্টে উইন্ডোজ পাওয়ারশেল আইকনটিতে ডান ক্লিক করুন এবং আবার উইন্ডোজ পাওয়ারশেলটিতে ডান ক্লিক করুন এবং বৈশিষ্ট্যগুলি ( অ্যাডমিনিস্ট্রেটর হিসাবে চালান না উইন্ডোজ পাওয়ারশেল আইএসই নয় ) নির্বাচন করুন
Set-Locationআপনার প্রোফাইলে রাখলে নিঃশর্তভাবে বর্তমান কার্যনির্বাহী ডিরেক্টরিটি পরিবর্তিত হবে, যা স্ক্রিপ্টগুলির জন্য ওয়ার্কিং ডিরেক্টরি সম্পর্কিত যে অযাচিত পরিণতি হতে পারে যা আপনি "পাওয়ারশেলের সাথে রান করুন" এর মাধ্যমে কার্যকর করেন।
একটি বিকল্প সমাধান হ'ল .lnkসাধারণত ফাইলগুলির পাওয়ার ফাইলের কার্যকারী ডিরেক্টরি পরিবর্তন করা %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell। কোনও লিঙ্কে ডান ক্লিক করুন, এবং কার্য ডিরেক্টরিটি আপনার পছন্দ ডিরেক্টরি থেকে পরিবর্তন করুন %HOMEDRIVE%%HOMEPATH%।
Run as administratorকরেন তখন কার্যকারী ডিরেক্টরি পরিবর্তন করা কাজ করে না বলে মনে হয় .lnk। সমাধান এখানে মনে করা হয় stackoverflow.com/questions/31622469/...
-NoProfileবিকল্পটি ব্যবহার করা উচিতpowershell -NoProfile -File "myscript.ps1"
পাওয়ারশেলে এটি টাইপ করুন:
New-Item -path $profile -type file –force
এটি পাওয়ারশেল ফোল্ডারে একটি .ps1 ফাইল তৈরি করে। এটি খুলুন এবং এটিকে সম্পাদনা করুন:
Set-location C:\files
সম্পন্ন
এই লিঙ্কটি দেখুন। এটা ভাল কাজ করে।
পূর্ববর্তী উত্তরে উল্লিখিত হিসাবে নিঃশর্তভাবে ওয়ার্কিং ডিরেক্টরি পরিবর্তন করার পরিবর্তে, 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 টিপুন (ফাংশনগুলি সংযোজন / সংশোধন করার পরে একটি নতুন পাওয়ারশেল উইন্ডো শুরু করার বিষয়টি মনে রাখবেন)।
কমান্ড লাইনটি ব্যবহার করে যদি কোনও ফাইল ইতিমধ্যে উপস্থিত থাকে তবে এটি এতে যুক্ত হবে:
$(if (-Not (Test-Path ~\Documents\WindowsPowerShell\)){ mkdir ~\Documents\WindowsPowerShell\}) ; echo "Set-Location c:\THELOCATIONYOUWANT" >> ~\Documents\WindowsPowerShell\profile.ps1
এটির সাথে, "ওয়ার্কিং ডিরেক্টরি" এবং পাওয়ারশেলের "অবস্থান" সম্পর্কে কিছুটা বিভ্রান্তি রয়েছে বলে মনে হচ্ছে। এখানকার বেশিরভাগ লোকেরা যা করছেন, এবং যা করছেন তা হ'ল পাওয়ারশেলের "অবস্থান" পরিবর্তন করা। "ওয়ার্কিং ডিরেক্টরি" আসলে আলাদা। এখানে নিবন্ধে এটি ব্যাখ্যা করা হয়েছে।
যারা নিবন্ধটি পড়তে চান না তাদের জন্য: পাওয়ারশেলটি খুলুন এবং অন্যরা যা বলেছে তা ব্যবহার করুন Set-Location "C:\some\directory"। লক্ষ্য করুন যে আপনার "ওয়ার্কিং ডিরেক্টরি" এখনও রয়েছে যেখানে আপনার পাওয়ারশেলটি খোলা হয়েছিল। হয় "~"বা তার "%SYSTEMROOT%\system32"উপর নির্ভর করে আপনি প্রশাসক হিসাবে দৌড়েছিলেন কিনা। কাজের ডিরেক্টরিটি পরীক্ষা করতে, ব্যবহার করুন[Environment]::CurrentDirectory ।
দ্রষ্টব্য: নিবন্ধে লেখক এই কমান্ডটি ব্যবহার করে "ওয়ার্কিং ডিরেক্টরি" পরীক্ষা করতে বলেছেন:
\[Environment\]::CurrentDirectory
আমি নিশ্চিত না যে এটি পুরনো পাওয়ারশেল সংস্করণগুলির সাথে কাজ করে তবে পাওয়ারশেল 5 (এবং পরবর্তী) এর সাথে আপনাকে ব্যবহার করতে হবে [Environment]::CurrentDirectory।
এই সমাধানটি বর্তমান কার্যকারী ফোল্ডারটি সেই স্থানে সেট করে যেখানে স্ক্রিপ্টটি অবস্থিত। আপনার স্ক্রিপ্টের শুরুতে, বা অবস্থানের পথে নির্ভর কমান্ডটি ব্যবহার করার চেষ্টা করার আগে অবশ্যই নিশ্চিত হন।
Set-Location (Split-Path $MyInvocation.MyCommand.Path)