删除c#中的目录

时间:2011-02-23 08:44:28

标签: c# file-io

我正在尝试从mY临时文件夹中删除特定目录

    try
    {
        string[] files = Directory.GetFiles(path + "uniquePdf\\");

        string[] direct = Directory.GetDirectories(path + "uniquePdf\\");
        foreach (string file in files)
        {
            File.SetAttributes(file, FileAttributes.Normal);
            File.Delete(file);
        }
        Directory.Delete(path);
    }

路径变量指向临时文件夹,而uniquePdf是我在其中制作的文件夹。如何在关闭应用程序时删除此文件夹?

上面的方法似乎抛出异常
Directory.Delete(path);

我需要做什么

Directory.Delete(path + "uniquePdf\\");

4 个答案:

答案 0 :(得分:3)

  1. 始终使用Path.Combine()创建路径
  2. 关闭应用程序时可以删除,但是当应用程序终止时代码将无法运行,因此我建议您在启动应用程序时清空/重新创建该文件夹。
  3. 是的,您需要删除所有文件。
  4. 请指明您帮助我们的例外情况。

答案 1 :(得分:2)

Directory.Delete有一个重载,需要第二个参数bool recursive。您可能想要使用:System.IO.Directory.Delete(path + "uniquePdf", true);

答案 2 :(得分:0)

你应该致电

Directory.Delete(Path.Combine(path, "uniquePdf"), true);

如果你遇到异常,最好知道你得到了什么样的例外。也许您仍然在文件夹中打开了其中一个文件。因此,在开始删除目录之前,请确保将所有文件处理放入using()语句或调用file.Close()

答案 3 :(得分:0)

只需Directory.Delete(Path.Combine(path, "uniquePdf"), true);

正如其他人所说,使用Path.xxx函数来播放路径,不要进行字符串连接,也不要担心像斜杠这样的巫术。