কোনও ফাইলের মধ্যে থাকা ডিরেক্টরিটি পাওয়ার সহজ উপায় কী? আমি একটি ওয়ার্কিং ডিরেক্টরি সেট করতে এটি ব্যবহার করছি।
string filename = @"C:\MyDirectory\MyFile.bat";
এই উদাহরণে, আমার "সি: \ মাই ডাইরেক্টরি" পাওয়া উচিত।
কোনও ফাইলের মধ্যে থাকা ডিরেক্টরিটি পাওয়ার সহজ উপায় কী? আমি একটি ওয়ার্কিং ডিরেক্টরি সেট করতে এটি ব্যবহার করছি।
string filename = @"C:\MyDirectory\MyFile.bat";
এই উদাহরণে, আমার "সি: \ মাই ডাইরেক্টরি" পাওয়া উচিত।
উত্তর:
আপনি যদি অবশ্যই একটি নিখুঁত পথ পেয়ে থাকেন তবে ব্যবহার করুন Path.GetDirectoryName(path) ।
আপনি যদি কেবল কোনও আপেক্ষিক নাম পেতে পারেন তবে ব্যবহার করুন new FileInfo(path).Directory.FullName ।
নোট করুন Pathএবং FileInfoউভয়ই নেমস্পেসে পাওয়া যায় System.IO।
new FileInfo(path).Directory.FullNameউভয় ক্ষেত্রেই কাজ করা উচিত।
আপনি ব্যবহার করতে পারেন System.IO.Path.GetDirectory(filename), বা পথটিকে একটিতে পরিণত করতে FileInfoএবং ব্যবহার করতে পারেন FileInfo.Directory।
আপনি যদি পথটি দিয়ে অন্য জিনিসগুলি করেন তবে এর FileInfoসুবিধাও থাকতে পারে।
আপনি Path.GetDirectoryNameফাইলের নাম ব্যবহার করতে এবং পাস করতে পারেন ।
আপনি যদি কোনও FileInfoঅবজেক্টের সাথে কাজ করছেন stringতবে DirectoryNameসম্পত্তিটির মাধ্যমে ডিরেক্টরিটির সম্পূর্ণ পথের একটি উপস্থাপনা তোলার সহজ উপায় রয়েছে ।
FileInfo.DirectoryNameএমএসডিএন এর মাধ্যমে সম্পত্তির বিবরণ :
ডিরেক্টরিটির পুরো পথটি উপস্থাপন করে একটি স্ট্রিং পান।
নমুনা ব্যবহার:
string filename = @"C:\MyDirectory\MyFile.bat";
FileInfo fileInfo = new FileInfo(filename);
string directoryFullPath = fileInfo.DirectoryName; // contains "C:\MyDirectory"
এমএসডিএন ডকুমেন্টেশনের লিঙ্ক ।
আপনি বর্তমান অ্যাপ্লিকেশন পাথটি ব্যবহার করে পেতে পারেন:
string AssemblyPath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location).ToString();
শুভকামনা!
আপনি Path.GetFullPathবেশিরভাগ ক্ষেত্রে ব্যবহার করতে পারেন । তবে আপনি যদি ফাইলের নাম তুলনামূলকভাবে অবস্থিত ক্ষেত্রেও পথটি পেতে চান তবে নীচের জেনেরিক পদ্ধতিটি ব্যবহার করতে পারেন:
string GetPath(string filePath)
{
return Path.GetDirectoryName(Path.GetFullPath(filePath))
}
উদাহরণ স্বরূপ:
GetPath("C:\Temp\Filename.txt") প্রত্যাবর্তন "C:\Temp\"
GetPath("Filename.txt")current working directoryমত ফিরে"C:\Temp\"
আমার ক্ষেত্রে, আমার একটি সম্পূর্ণ পাথের ডিরেক্টরি ডিরেক্টরি (ডিরেক্টরিটির) সন্ধানের দরকার ছিল তাই আমি কেবল এটি করেছি:
var dirName = path.Split('\\').Last();
"C:\MyDirectory"এবং দরকার নেই MyDirectory। স্ট্রিং ম্যানিপুলেশন পদ্ধতি ব্যবহারের পরামর্শ ঝুঁকিপূর্ণ, অনেকগুলি ফাঁদ রয়েছে, বরং উত্সর্গীকৃত Pathপদ্ধতিগুলি ব্যবহার করুন ।
Path.GetDirectoryName (Context.Parameters [ "assemblypath"])
Path.GetDirectoryNameঅন্যান্য অনেক উত্তরে (স্বীকৃত উত্তর সহ) উল্লেখ করা হয়েছে
@"C:\MyDirectory\MyFile.bat"