Wenn ein Ordner nicht existiert, erstellen Sie ihn

Ich verwende ein FileUploader-Steuerelement in meiner Anwendung. Ich möchte eine Datei in einem bestimmten Ordner speichern. Jetzt möchte ich, wenn dieser Ordner nicht existiert, zuerst erstellen, und dann meine Datei in diesem Ordner speichern. Wenn der Ordner bereits existiert, speichern Sie einfach die Datei darin.

Wie kann ich das machen?

Solutions Collecting From Web of "Wenn ein Ordner nicht existiert, erstellen Sie ihn"

Wie andere bereits gesagt haben, verwenden Sie System.IO.Directory.CreateDirectory

Aber Sie müssen nicht überprüfen, ob es zuerst existiert. Aus den Dokumenten

Alle Verzeichnisse, die im Pfad angegeben sind, werden erstellt, sofern sie nicht bereits vorhanden sind oder ein Teil des Pfads ungültig ist. Der Pfadparameter gibt einen Verzeichnispfad und keinen Dateipfad an. Wenn das Verzeichnis bereits existiert, führt diese Methode nichts aus.

Verwenden Sie den folgenden Code gemäß http://forums.asp.net/p/1226236/2209871.aspx :

 string subPath ="ImagesPath"; // your code goes here bool exists = System.IO.Directory.Exists(Server.MapPath(subPath)); if(!exists) System.IO.Directory.CreateDirectory(Server.MapPath(subPath)); 

Schreibe einfach diese Zeile:

 System.IO.Directory.CreateDirectory(myDir); 
  • Wenn der Ordner noch nicht existiert , wird er erstellt .
  • Wenn der Ordner bereits existiert , wird die Zeile ignoriert .

Referenz: Artikel über Directory.CreateDirectory bei MSDN

Sie können den Pfad erstellen, wenn dieser noch nicht existiert, mit einer Methode wie der folgenden:

 using System.IO; private void CreateIfMissing(string path) { bool folderExists = Directory.Exists(Server.MapPath(path)); if (!folderExists) Directory.CreateDirectory(Server.MapPath(path)); } 

Directory.Exists Dies erklärt, wie Sie prüfen, ob ein FilePath vorhanden ist

Directory.CreateDirectory Hier wird erläutert, wie versucht wird, den FilePath zu erstellen, wenn dieser nicht existiert

 using System.IO if (!Directory.Exists(yourDirectory)) Directory.CreateDirectory(yourDirectory); 

Sie können eine try / catch-Klausel verwenden und prüfen, ob sie existiert:

  try { if (!Directory.Exists(path)) { // Try to create the directory. DirectoryInfo di = Directory.CreateDirectory(path); } } catch (IOException ioex) { Console.WriteLine(ioex.Message); } 

Diese Methode erstellt einen Ordner, wenn er nicht existiert, und tut nichts, wenn er existiert

 Directory.CreateDirectory(path); 
 if (!Directory.Exists(Path.GetDirectoryName(fileName))) { Directory.CreateDirectory(Path.GetDirectoryName(fileName)); } 

Der folgende Code ist die beste (n) Codezeile (n), die das Verzeichnis erstellt, wenn es nicht vorhanden ist.

 System.IO.Directory.CreateDirectory(HttpContext.Current.Server.MapPath("~/temp/")); 

Wenn das Verzeichnis bereits vorhanden ist, erstellt diese Methode kein neues Verzeichnis, aber es gibt ein DirectoryInfo-Objekt für das vorhandene Verzeichnis zurück. >

Verwenden Sie den folgenden Code. Ich habe diesen Code zum Kopieren von Dateien verwendet und einen neuen Ordner erstellt.

 string fileToCopy = "filelocation\\file_name.txt"; String server = Environment.UserName; string newLocation = "C:\\Users\\" + server + "\\Pictures\\Tenders\\file_name.txt"; string folderLocation = "C:\\Users\\" + server + "\\Pictures\\Tenders\\"; bool exists = System.IO.Directory.Exists(folderLocation); if (!exists) { System.IO.Directory.CreateDirectory(folderLocation); if (System.IO.File.Exists(fileToCopy)) { MessageBox.Show("file copied"); System.IO.File.Copy(fileToCopy, newLocation, true); } else { MessageBox.Show("no such files"); } } 

Dies war die Antwort, nach der ich suchte, fand aber nicht ohne weiteres:

  string pathToNewFolder = System.IO.Path.Combine(parentFolderPath, "NewSubFolder"); DirectoryInfo directory = Directory.CreateDirectory(pathToNewFolder); // Will create if does not already exist (otherwise will ignore) 
  • Pfad zum neuen Ordner angegeben
  • Verzeichnis-Info-Variable, so dass Sie weiterhin so manipulieren können, wie Sie möchten.

Zeichenfolge createfolder = “E: / tmp /” + uId;
System.IO.Directory.CreateDirectory (createfolder);

 string root = @"C:\Temp"; string subdir = @"C:\Temp\Mahesh"; // If directory does not exist, create it. if (!Directory.Exists(root)) { Directory.CreateDirectory(root); } 

Das CreateDirectory wird auch verwendet, um ein Unterverzeichnis zu erstellen. Sie müssen lediglich den Pfad des Verzeichnisses angeben, in dem das Unterverzeichnis erstellt wird. Das folgende Code-Snippet erstellt ein Unterverzeichnis “Mahesh” im Verzeichnis ” C:\Temp directory .

 // Create sub directory if (!Directory.Exists(subdir)) { Directory.CreateDirectory(subdir); } 

Aus mehreren Antworten abgeleitet / kombiniert, war es für mich so einfach umzusetzen:

 public void Init() { String platypusDir = @"C:\platypus"; CreateDirectoryIfDoesNotExist(platypusDir); } private void CreateDirectoryIfDoesNotExist(string dirName) { System.IO.Directory.CreateDirectory(dirName); }