C # में एक पूर्ण पथ से कई निर्देशिका कैसे बनाएँ?


162

यदि आपके पास एक पूर्ण रास्ता है: "C:\dir0\dir1\dir2\dir3\dir4\"तो आप इसे कैसे लागू करेंगे ताकि सभी निर्देशिकाएं मौजूद हों?

क्या बीसीएल में इसके लिए कोई विधि है? यदि नहीं, तो ऐसा करने का सबसे सुरुचिपूर्ण तरीका क्या है?

जवाबों:


346

मैं फोन करता Directory.CreateDirectory(@"C:\dir0\dir1\dir2\dir3\dir4\")

आम धारणा के विपरीत, Directory.CreateDirectoryस्वचालित रूप से जो भी मूल निर्देशिका मौजूद नहीं है बनाएगा।
MSDN के शब्दों में,Creates all directories and subdirectories as specified by path.

यदि पूरा रास्ता पहले से मौजूद है, तो यह कुछ नहीं करेगा। (यह एक अपवाद नहीं फेंकेंगे)


3
धन्यवाद, मुझे यह नहीं पता था। पथ को निर्देशिका पथ होना चाहिए, फ़ाइल पथ नहीं, है ना?
जोन वेंज

27
@Joan: हाँ; आप Path.GetDirectoryNameइसे प्राप्त करने के लिए कॉल कर सकते हैं ।
SLKs

2
इसे क्रिएटडायरेक्टरीट्री
ओल्डस्कूल

3

पूर्ण फ़ाइलपाथ से निर्देशिका बनाएँ

private String EvaluatePath(String path){

    try
    {
        String folder = Path.GetDirectoryName(path);
        if (!Directory.Exists(folder))
        {
            // Try to create the directory.
            DirectoryInfo di = Directory.CreateDirectory(folder);
        }
    }
    catch (IOException ioex)
    {
        Console.WriteLine(ioex.Message);
        return "";
    }
    return path;
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.