কোনও ফাইলের মধ্যে থাকা ডিরেক্টরিটি পাওয়ার সহজ উপায় কী? আমি একটি ওয়ার্কিং ডিরেক্টরি সেট করতে এটি ব্যবহার করছি।
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"