Проверьте, существует ли папка в каталоге и создайте ее с помощью C #

Как проверить, есть ли каталог C:/ содержит папку с именем MP_Upload , а если она не существует, создайте папку автоматически?

Я использую Visual Studio 2005 C #.

Это должно помочь:

 using System.IO; ... string path = @"C:\MP_Upload"; if(!Directory.Exists(path)) { Directory.CreateDirectory(path); } 
 using System.IO; ... Directory.CreateDirectory(@"C:\MP_Upload"); 

Directory.CreateDirectory делает именно то, что вы хотите: он создает каталог, если он еще не существует. Вначале не нужно делать явные проверки.

Все каталоги, указанные в пути, создаются, если они уже не существуют или если некоторая часть пути недействительна. Параметр path указывает путь к каталогу, а не путь к файлу. Если каталог уже существует, этот метод ничего не делает.

(Это также означает, что при необходимости CreateDirectory(@"C:\a\b\c\d") все каталоги вдоль пути : CreateDirectory(@"C:\a\b\c\d") , даже если C:\a еще не существует.)


Позвольте мне добавить слово предостережения о вашем выборе каталога, хотя: Создание папки непосредственно под системным разделом root C:\ нахмурился. Подумайте о том, чтобы позволить пользователю выбрать папку или создать папку в %APPDATA% или %LOCALAPPDATA% вместо этого (для этого используйте для этого Environment.GetFolderPath ). На странице MSDN enums Environment.SpecialFolder содержится список специальных папок операционной системы и их целей.

 if(!System.IO.Directory.Exists(@"c:\mp_upload")) { System.IO.Directory.CreateDirectory(@"c:\mp_upload"); } 

Это должно работать

 if(!Directory.Exists(@"C:\MP_Upload")) { Directory.CreateDirectory(@"C:\MP_Upload"); } 
 using System; using System.IO; using System.Windows.Forms; namespace DirCombination { public partial class DirCombination : Form { private const string _Path = @"D:/folder1/foler2/folfer3/folder4/file.txt"; private string _finalPath = null; private string _error = null; public DirCombination() { InitializeComponent(); if (!FSParse(_Path)) Console.WriteLine(_error); else Console.WriteLine(_finalPath); } private bool FSParse(string path) { try { string[] Splited = path.Replace(@"//", @"/").Replace(@"\\", @"/").Replace(@"\", "/").Split(':'); string NewPath = Splited[0] + ":"; if (Directory.Exists(NewPath)) { string[] Paths = Splited[1].Substring(1).Split('/'); for (int i = 0; i < Paths.Length - 1; i++) { NewPath += "/"; if (!string.IsNullOrEmpty(Paths[i])) { NewPath += Paths[i]; if (!Directory.Exists(NewPath)) Directory.CreateDirectory(NewPath); } } if (!string.IsNullOrEmpty(Paths[Paths.Length - 1])) { NewPath += "/" + Paths[Paths.Length - 1]; if (!File.Exists(NewPath)) File.Create(NewPath); } _finalPath = NewPath; return true; } else { _error = "Drive is not exists!"; return false; } } catch (Exception ex) { _error = ex.Message; return false; } } } } 
  String path = Server.MapPath("~/MP_Upload/"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } 
  • Разработка приложений .NET Compact Framework в Post-2008 Visual Studio?
  • Использование Java с Microsoft Visual Studio 2012
  • Предотrotation закрытия windows консоли в приложении консоли Visual Studio C / C ++
  • Как отключить CodeLens-Ссылки
  • Почему иногда Windows не может убить процесс?
  • Нет доступных источников
  • Ориентация как 32-битной, так и 64-битной с Visual Studio в том же решении / проекте
  • Итераторы отладки Visual Studio
  • Как использовать class из одного проекта C # с другим проектом C #
  • Как я могу сделать сборку Visual Studio очень многословной?
  • MSBuild в решении TeamCity для Visual Studio 2012
  • Interesting Posts

    Как объединить данные из двух листов и условно форматировать строки на основе листа происхождения

    Entity Framework 4 CTP 4 / CTP 5 Общий шаблон хранилища и единица тестирования

    Как я могу проверить службу AngularJS с консоли?

    Что является результатом NULL + int?

    Поиск UNIX для поиска имен файлов, не заканчивающихся конкретными расширениями?

    Запись одного CSV-файла с использованием spark-csv

    Linux: расширенная настройка загрузчика Grub?

    Как я могу распечатать пиксели подстановки PDF для синих пикселей?

    Найдите множество самых больших смежных прямоугольников для покрытия нескольких областей

    Записывается в текстовое поле easygui как функция?

    В чем разница между публичным, частным, защищенным и не имеющим модификатора доступа?

    Сначала создайте код, многие для многих, с дополнительными полями в таблице объединений

    Как перезапустить службу на удаленном компьютере в Windows?

    Поместите пятно в системный лоток вместо панели задач

    Как обеспечить доступ других компьютеров к файлам на внешнем (съемном) жестком диске?

    Давайте будем гением компьютера.