删除特定文件夹及其文件ASP.NET

时间:2014-06-23 16:38:25

标签: c# asp.net delete-file directory

好吧所以我在这里遇到了一些问题。我正在尝试使用ASP.NET(C#)删除网络服务器上另一个文件夹中的特定文件夹。正在删除的文件夹基于文本框。

目录就像这样

/images/folderx

folderx = txtDelFolder.Text;

问题是我尝试的所有内容都会删除images文件夹中的所有内容。我猜它没有在文件路径中识别我的文件夹

  

string path = @“\ httpdocs \ images \ +   txtDelFolder.Text;

我也试过

  

string path = @“\ httpdocs \ images \ +   txtDelFolder.Text +“\”;

使用单个'\'和双'\'

尝试所有这些

非常感谢您对此的任何帮助

另外它说<directfilepath>我实际上已经输出了文件路径,只是不想在这里分享。

**** ****编辑

string path = Server.MapPath("~/imagestest/" + txtEditTitle.Text);

  if(Directory.Exists(path)) 
  { 
  DeleteDirectory(path); 
  } 
 } 
} 
private void DeleteDirectory(string path) 
{ 
 foreach(string filename in Directory.GetFiles(path)) 
 { 
 File.Delete(filename); 
 } 
 foreach(string subfolders in Directory.GetDirectories(path)) 
 { 
 Directory.Delete(subfolders, true); 
 } 
}

3 个答案:

答案 0 :(得分:2)

试试这个:

private void DeleteFiles(string folder)
        {
            string path=Server.MapPath("~/httpdocs/images/" + folder);
            string[] files=Directory.GetFiles(path, "*", SearchOption.AllDirectories);
            foreach (string file in files)
            {
                File.Delete(file);
            }
             //then delete folder
              Directory.Delete(path);

        }

答案 1 :(得分:0)

试试这个:

public void DeleteFolder(string folderPath)
    {
        if (!Directory.Exists(folderPath))
            return;
        // get the directory with the specific name
        DirectoryInfo dir = new DirectoryInfo(folderPath);
        try
        {
            foreach (FileInfo fi in dir.GetFiles())
                fi.Delete();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

答案 2 :(得分:0)

不知道为什么这不起作用:

public static bool DeleteDirectory(string input)
{
    if (Directory.Exists(input))
    {
        Directory.Delete(input, true);
        return !Directory.Exists(input);
    }
    else
        return true;
}

string thePath = Server.MapPath(@"~/images/");
thePath = Path.Combine(Path.GetFullPath(thePath), txtInput.Text);

if(DeleteDirectory(thePath))
    Console.WriteLine("YAY");
else
    Console.WriteLine("BOO");