जवाबों:
DirectoryInfo.Name देखें :
string dirName = new DirectoryInfo(@"c:\projects\roott\wsdlproj\devlop\beta2\text").Name;
मुझे लगता है कि आप फ़ाइल पथ से मूल फ़ोल्डर नाम प्राप्त करना चाहते हैं। इसे प्राप्त करना आसान है। एक तरीका एक FileInfo
प्रकार की वस्तु बनाना और अपनी Directory
संपत्ति का उपयोग करना है।
उदाहरण:
FileInfo fInfo = new FileInfo("c:\projects\roott\wsdlproj\devlop\beta2\text\abc.txt");
String dirName = fInfo.Directory.Name;
इसे इस्तेमाल करे
var myFolderName = @"c:\projects\roott\wsdlproj\devlop\beta2\text";
var result = Path.GetFileName(myFolderName);
@"c:\projects\roott\wsdlproj\devlop\beta2\text\"
आप इसका उपयोग कर सकते हैं:
string path = @"c:\projects\roott\wsdlproj\devlop\beta2\text";
string lastDirectory = path.Split(new char[] { System.IO.Path.DirectorySeparatorChar }, StringSplitOptions.RemoveEmptyEntries).Last();
StringSplitOptions.RemoveEmptyEntries
उसने चाल चली।
बस उपयोग करें Path.GetFileName
यहाँ - फ़ोल्डर के पूर्ण पथ से फ़ोल्डर का नाम निकालें:
string folderName = Path.GetFileName(@"c:\projects\root\wsdlproj\devlop\beta2\text");//Return "text"
यहाँ कुछ अतिरिक्त है - फ़ाइल के पूर्ण पथ से फ़ोल्डर का नाम निकालें:
string folderName = Path.GetFileName(Path.GetDirectoryName(@"c:\projects\root\wsdlproj\devlop\beta2\text\GTA.exe"));//Return "text"
मुझे लगा कि फ़ाइल सिस्टम में जाने के अलावा कोई रास्ता नहीं है, यह जानने के लिए कि text.txt एक निर्देशिका है या सिर्फ एक फ़ाइल है। यदि आप कुछ सरल चाहते थे, तो शायद आप उपयोग कर सकते हैं:
s.Substring(s.LastIndexOf(@"\"));
यहाँ एक वैकल्पिक तरीका है जो DirectoryInfo ऑब्जेक्ट बनाने के बिना मेरे लिए काम करता है। मुख्य बिंदु यह है कि GetFileName()
जब पथ में कोई अनुगामी स्लैश नहीं है तो काम करता है।
var name = Path.GetFileName(path.TrimEnd(Path.DirectorySeparatorChar));
उदाहरण:
var list = Directory.EnumerateDirectories(path, "*")
.Select(p => new
{
id = "id_" + p.GetHashCode().ToString("x"),
text = Path.GetFileName(p.TrimEnd(Path.DirectorySeparatorChar)),
icon = "fa fa-folder",
children = true
})
.Distinct()
.OrderBy(p => p.text);
ऐसा भी किया जा सकता है;
var directoryName = System.IO.Path.GetFileName(@"c:\projects\roott\wsdlproj\devlop\beta2\text");
पिछले उत्तरों (लेकिन निश्चित) के आधार पर
using static System.IO.Path;
var dir = GetFileName(path?.TrimEnd(DirectorySeparatorChar, AltDirectorySeparatorChar));
.NET स्रोतGetFileName
से स्पष्टीकरण :
दिए गए पथ के नाम और विस्तार भागों को लौटाता है। परिणामी स्ट्रिंग में पथ के वर्ण शामिल हैं जो अंतिम बैकस्लैश ("\"), स्लैश ("/"), या कॉलन (":") पथ में वर्ण का अनुसरण करते हैं। परिणामी स्ट्रिंग संपूर्ण पथ है यदि पथ में पीछे की ओर स्लैश, स्लैश या बृहदान्त्र वर्णों को हटाने के बाद कोई बैकस्लैश नहीं है। परिणामी स्ट्रिंग अशक्त है यदि पथ अशक्त है।
Path.GetDirectoryName(@"c:\projects\roott\wsdlproj\devlop\beta2\text");
c:\projects\roott\wsdlproj\devlop\beta2
, और वह नहीं है जो ओपी के बाद था।