如何删除c sharp中的文件夹

how can delete folders in c sharp

我有一些文件夹,这些文件夹有一些文本文件,我需要删除这些文件,但我发现我的代码出错了!

                    var dateFolder = Directory.GetDirectories(@"data\stdate").Select(Path.GetDirectoryName).ToArray();
                    foreach (var dateFile in dateFolder)
                    {
                        var stDates =
                            Directory.GetFiles(@"data\stdate\" + dateFile + "date").Select(Path.GetFileName).ToArray();

                        foreach (var date in stDates)
                        {
                            File.Delete(@"data\stdate\" + dateFile + "date\" + date);
                        }
                        Directory.Delete(@"data\stdate\" + dateFile + "date");
                    }
    System.IO.DirectoryInfo di = new DirectoryInfo(@"data\stdate");

         //This for delete all file in "data\stdate"
        foreach (FileInfo file in di.GetFiles())
        {
            file.Delete();
        }
        //***************************For delete file in folder

        //This for delete all Subfolder and his files in "data\stdate"
        foreach (DirectoryInfo dir in di.GetDirectories())
        {
            dir.Delete(true);
        }
        //*************************
        //This for delete the parent folder "stdate"
        di.Delete();

试试这个:

Directory.Delete("Path", true); //true: It will delete directory by given path, also folders and files in it.

我删除了原来的文件夹,然后重新创建!

 if (!isDateEmpty)
                {
                    Directory.Delete(@"data\stdate", true);
                    Directory.CreateDirectory(@"data\stdate");
                }

我建议你使用系统环境变量,看这里:

https://en.wikipedia.org/wiki/Environment_variable

原因如您所见:有时可执行文件 运行 不在您编译程序时预期的目录中。

EX:

    String query = "%SystemDrive%";
    str = Environment.ExpandEnvironmentVariables(query);

    Delete(str, true);

这样可以保证路径可预测,而不是相对路径。