Feedback

C# - Create Directory

Veröffentlicht von am 5/20/2011
(2 Bewertungen)
Recursiv directory creation.
string CreateDirectory(string DirectoryPath, bool EndsWithBackslash)
        {
            while (DirectoryPath.EndsWith("\\"))
                DirectoryPath = DirectoryPath.Remove(DirectoryPath.Length-1);

            if (!Directory.Exists(DirectoryPath))
            {
                Directory.CreateDirectory(DirectoryPath);
            }
            else
            {
                int indexBracket1 = DirectoryPath.IndexOf("(");
                int indexBracket2;
                string Number = string.Empty;
                if (indexBracket1 > -1)
                {
                    indexBracket2 = DirectoryPath.IndexOf(")", indexBracket1);
                    Number = DirectoryPath.Substring(indexBracket1 + 1, indexBracket2 - indexBracket1 - 1);
                }
                if (indexBracket1 < 0)
                {
                    DirectoryPath = DirectoryPath + "(2)";
                    DirectoryPath = CreateDirectory(DirectoryPath, EndsWithBackslash);
                }
                else
                {
                    DirectoryPath = DirectoryPath.Replace("(" + Number + ")", "(" + (Convert.ToInt64(Number) + 1) + ")");
                    DirectoryPath = CreateDirectory(DirectoryPath, EndsWithBackslash);
                }
            }
            if (EndsWithBackslash && !DirectoryPath.EndsWith("\\"))
                DirectoryPath += @"\";
            return DirectoryPath;
        }
        


void CreateDirectory(ref string DirectoryPath, bool EndsWithBackslash)
        {
            DirectoryPath = CreateDirectory(DirectoryPath, EndsWithBackslash);
        }
Abgelegt unter directory, create, recursiv, number, numbers, digit, digits.

3 Kommentare zum Snippet

bestel schrieb am 5/20/2011:
Die bereits verfügbare Funktion erstellt Verzeichnisse ebenfalls rekursiv: ;)
System.IO.Directory.CreateDirectory(@"C:\Ordner\SubDir1\SubSubDir1\SubSubSubDir1");
jGilbert schrieb am 5/31/2011:
Ich denke mal du hast nicht ganz verstanden, was ich mit der Funktion bewirken möchte.
Piper schrieb am 11/8/2011:
Ich verstehe es auch nicht. Die Beschreibung ist auch schlecht.

 

Logge dich ein, um hier zu kommentieren!