it-swarm.com.de

Wenn ein Ordner nicht vorhanden ist, erstellen Sie ihn

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

Wie kann ich das machen?

636
Tavousi

Wie andere gesagt haben, benutze System.IO.Directory.CreateDirectory

Sie müssen jedoch nicht zuerst prüfen, ob es vorhanden ist. Aus dem docs

Alle im Pfad angegebenen Verzeichnisse werden erstellt, es sei denn, sie existieren bereits oder ein Teil des Pfads ist ungültig. Wenn das Verzeichnis bereits vorhanden ist, erstellt diese Methode kein neues Verzeichnis, gibt jedoch ein DirectoryInfo-Objekt für das vorhandene Verzeichnis zurück.

1114
Mark Peters

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));
338
Ravia

Schreiben Sie einfach diese Zeile:

System.IO.Directory.CreateDirectory("my folder");
  • Wenn der Ordner noch nicht existiert , wird er erstellt .
  • Wenn der Ordner bereits vorhanden ist , wird die Zeile ignoriert .

Referenz: Artikel über Directory.CreateDirectory bei MSDN

Natürlich können Sie auch using System.IO; am Anfang der Quelldatei und dann jedes Mal, wenn Sie einen Ordner erstellen möchten, Directory.CreateDirectory("my folder"); schreiben.

205
Nicolas Raoul

Directory.Exists Hier wird erklärt, wie geprüft wird, ob ein FilePath vorhanden ist

Directory.CreateDirectory Hier erfahren Sie, wie Sie versuchen, den Dateipfad zu erstellen, falls er nicht vorhanden ist

28
jeroenh

Sie können den Pfad erstellen, wenn er noch nicht vorhanden ist, und zwar 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));
}
26
Dennis Traub

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

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

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

Directory.CreateDirectory(path);
15
Thakur Rock
using System.IO

if (!Directory.Exists(yourDirectory))
    Directory.CreateDirectory(yourDirectory);
15
BlackBear
if (!Directory.Exists(Path.GetDirectoryName(fileName)))
{
    Directory.CreateDirectory(Path.GetDirectoryName(fileName));
}
13
KiranSolkar

Der folgende Code ist die beste (n) Codezeile (n), die ich verwende, um ein Verzeichnis zu erstellen, 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, gibt jedoch ein DirectoryInfo-Objekt für das vorhandene Verzeichnis zurück. >

6
UJS

Dies war die Antwort, nach der ich gesucht habe, die ich aber nicht so schnell gefunden habe:

        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, damit Sie es weiter nach Belieben bearbeiten können.
2
BKSpurgeon

string createfolder = "E:/tmp /" + uId;
System.IO.Directory.CreateDirectory (Ordner erstellen);

0
amit

Verwenden Sie den folgenden Code. Ich habe diesen Code zum Kopieren von Dateien und zum Erstellen eines neuen Ordners verwendet.

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");

   }
}
0
Lemon Kazi