好吧所以我在这里遇到了一些问题。我正在尝试使用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);
}
}
答案 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");