C # Лучший способ создания папок-структур - PullRequest
0 голосов
/ 11 ноября 2018

Я бы хотел автоматически создавать различные структуры папок (в качестве подготовки к новым проектам редактирования видео / фильмов). Он также позволяет добавлять специальные папки, такие как After Effects и Photoshop, в каждую структуру папок.

Он должен прочитать структуру из файла конфигурации и затем создать папки.

Мой текущий код выглядит так:

 if(tbPath.Text == "_______________________________________________________"
            || tbConfigPath.Text == "_______________________________________________________"
            || tbPath.Text == ""
            || tbConfigPath.Text == "")
        {
            System.Windows.MessageBox.Show("You didn't enter a valid Path.", "Invalid Path", MessageBoxButton.OK, MessageBoxImage.Error);
            return;
        }



        //List for the paths
        List<string> paths = new List<string>();
        List<string> finalpaths = new List<string>();
        string outPath = tbPath.Text;

        //Where to get the config from
        string configPath = tbConfigPath.Text;


        string line = "";
        // Read the file and display it line by line.  
        System.IO.StreamReader file = new System.IO.StreamReader(configPath);
        while ((line = file.ReadLine()) != null)
        {
            paths.Add(line);
        }

        file.Close();

        for (int i = 0; i < paths.Count(); i++)
        {
            finalpaths.Add(outPath + paths[i]);
        }

        //----------------Folder Generatring------------
        for (int i = 0; i < paths.Count(); i++)
        {
            Directory.CreateDirectory(finalpaths[i]);
        }


        // Add After Effects
        if (cbAE.IsChecked == true)
            {
            string AEpath = outPath + "\\AfterEffects";
            Directory.CreateDirectory(AEpath);
        }

        // Add Photoshop
        if (cbAE.IsChecked == true)
        {
            string PSpath = outPath + "\\Photoshop";
            Directory.CreateDirectory(PSpath);
        }


        System.Windows.MessageBox.Show("The folders where generated successfully", "Success", MessageBoxButton.OK, MessageBoxImage.Information);

        pgStartUp pgStart = new pgStartUp();
        NavigationService.Navigate(pgStart);

Но я чувствую, что это не очень эффективно. Есть ли лучший способ?

1 Ответ

0 голосов
/ 11 ноября 2018

Когда вы используете:

Directory.CreateDirectory(path);

Эта строка создает все или отсутствующие каталоги в строке пути , которую вы передаете в качестве параметра.Так что вам больше ничего не нужно.

Вся ваша логика может заключаться в создании правильной строки пути с учетом корневого каталога и тому подобного.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...