আমারও একই রকম সমস্যা ছিল এবং আমি পাওয়ারশেল (সম্পূর্ণ শেষ ব্যবহারকারী জিইআইআই অ্যাপ্লিকেশন) এ লিখিত প্রোগ্রামগুলি তৈরি করার পরে এটি আমাকে অনেক সমস্যায় ফেলেছে এবং আমার ডিস্ক থেকে লোড করার জন্য আমার প্রচুর ফাইল এবং সংস্থান রয়েছে। আমার অভিজ্ঞতা থেকে, ব্যবহার । তারপরে, পাওয়ারশেল ডিরেক্টরিটি ডিরেক্টরিটি পরিবর্তিত করে আপনি যে ডিরেক্টরি থেকে এটি শুরু করেছেন, বা ডিরেক্টরিতে যেখানে আপনি চালিত স্ক্রিপ্টটি পাওয়ারশেল প্রম্পট সহ আপনাকে উপস্থাপন করার আগে বা স্ক্রিপ্ট চালানোর আগে অবস্থিত। কিন্তু পাওয়ারশেল অ্যাপ্লিকেশনটি মূলত আপনার হোম ব্যবহারকারী ডিরেক্টরিতে শুরু হওয়ার পরে এটি ঘটে।.
বর্তমান ডিরেক্টরি উপস্থাপন করতে করা অবিশ্বাস্য। এটি বর্তমান চলমান ডিরেক্টরি উপস্থাপন করা উচিত, তবে এটি প্রায়শই হয় না। দেখা যাচ্ছে যে পাওয়ারশেল সেই জায়গাটি সংরক্ষণ করে যেখান থেকে পাওয়ারশেলের ভিতরে প্রবেশ করা হয়েছিল .
। আরও সুনির্দিষ্টভাবে বলতে গেলে, পাওয়ারশেলটি যখন প্রথম শুরু করা হয় তখন এটি আপনার হোম ব্যবহারকারী ডিরেক্টরিতে ডিফল্টরূপে শুরু হয়। এটি সাধারণত আপনার ব্যবহারকারীর অ্যাকাউন্টের ডিরেক্টরি accountC:\USERS\YOUR USER NAME
এবং .
সেই প্রাথমিক ডিরেক্টরিটি উপস্থাপন করে যার মধ্যে পাওয়ারশেল শুরু হয়েছিল। সুতরাং .
যদি আপনি পছন্দসই ডিরেক্টরি থেকে পাওয়ারশেলকে অনুরোধ করেন তবে কেবলমাত্র বর্তমান ডিরেক্টরিটি উপস্থাপন করে। আপনি যদি পরে পাওয়ারশেল কোডে ডিরেক্টরি পরিবর্তন করেন তবে পরিবর্তনটি .
প্রতিটি ক্ষেত্রেই প্রতিফলিত হবে না বলে মনে হয় । কিছু ক্ষেত্রে .
বর্তমান কার্যনির্বাহী ডিরেক্টরি উপস্থাপন করে এবং অন্যদের মধ্যে ডিরেক্টরি থেকে পাওয়ারশেল (নিজেই, স্ক্রিপ্টটি নয়) আহ্বান করা হয়েছে, এর ফলে কী বেমানান হতে পারে। এই কারণে আমি ইনভোকার স্ক্রিপ্ট ব্যবহার করি। একক কমান্ড ভিতরে PowerShell স্ক্রিপ্ট:
POWERSHELL
। এটি নিশ্চিত করবে যে পাওয়ারশেলটি পছন্দসই ডিরেক্টরি থেকে আহবান করা হয়েছে এবং এইভাবে তৈরি করা হবে.
বর্তমান ডিরেক্টরি উপস্থাপন। তবে আপনি কেবল পাওয়ারশেল কোডে ডিরেক্টরি পরিবর্তন না করলে এটি কেবলমাত্র কাজ করে। একটি স্ক্রিপ্ট ক্ষেত্রে, আমি invoker স্ক্রিপ্ট গত এক আমি উল্লেখ অনুরূপ ছাড়া এটা একটি ফাইল বিকল্প রয়েছে ব্যবহার করুন:
POWERSHELL -FILE DRIVE:\PATH\SCRIPT NAME.PS1
। এটি নিশ্চিত করে যে পাওয়ারশেলটি বর্তমান কার্যনির্বাহী ডিরেক্টরিতে শুরু হয়েছে।
কেবল স্ক্রিপ্টে ক্লিক করা আপনার ঘরের ব্যবহারকারী ডিরেক্টরি থেকে পাওয়ারশেলকে আহ্বান জানায় যেখানে স্ক্রিপ্টটি অবস্থিত matter স্ক্রিপ্টটি যেখানে অবস্থিত সেখানে ডিরেক্টরি চলমান ডিরেক্টরি রয়েছে, তবে পাওয়ারশেল আহ্বান ডিরেক্টরিটি রয়েছে C:\USERS\YOUR USER NAME
এবং .
পরিস্থিতি অনুসারে এই দুটি ডিরেক্টরিগুলির মধ্যে একটি ফেরত দেওয়ার সাথে এটি হাস্যকর।
তবে এই সমস্ত গোলমাল এড়াতে এবং ইনভোকার স্ক্রিপ্টটি ব্যবহার করার জন্য, আপনি বর্তমান ওয়ার্কিং ডিরেক্টরি বা ডিরেক্টরিটি থেকে যে স্ক্রিপ্টটি আহ্বান করা হয়েছে তা উপস্থাপন করতে চান এমন আবহাওয়ার উপর নির্ভর করে আপনি বর্তমান ডিরেক্টরিটি উপস্থাপন করতে $PWD
বা এর $PSSCRIPTROOT
পরিবর্তে ব্যবহার করতে পারেন .
। এবং যদি আপনি কোনও কারণে দু'টি ডিরেক্টরি থেকে অন্য দুটি ডিরেক্টরি পুনরুদ্ধার করতে চান তবে আপনি .
ব্যবহার করতে পারেন $HOME
।
আমার ব্যক্তিগতভাবে আমার পাওয়ার অ্যাপ্লিকেশনের সাথে বিকাশ করা আমার অ্যাপ্লিকেশনগুলির মূল ডিরেক্টরিতে কেবল চালক স্ক্রিপ্ট থাকে যা আমার মূল অ্যাপ্লিকেশন স্ক্রিপ্টকে আমন্ত্রণ জানায় এবং আমার অ্যাপ্লিকেশনটির উত্স কোডের অভ্যন্তরীণ বর্তমানের ডিরেক্টরিটি কখনও পরিবর্তন করতে পারে তা মনে রাখে না, তাই আমাকে কখনই এই নিয়ে চিন্তা করতে হবে না, এবং আমি .
বর্তমান ডিরেক্টরি উপস্থাপন করতে এবং কোনও সমস্যা ছাড়াই আমার অ্যাপ্লিকেশনগুলিতে আপেক্ষিক ফাইল ঠিকানা সমর্থন করতে ব্যবহার করতে পারি use এটি পাওয়ারশেলের নতুন সংস্করণে (সংস্করণ 2 এর চেয়েও নতুন) কাজ করা উচিত।