在C#中删除子文件夹

时间:2018-11-14 06:48:39

标签: c#

我正在asp.net中为示例程序创建一个上传页面。现在,我正在本地存储中上传学生文档certificates,marksheets。并且我将该文件保存在特定目录中。D:\Vinayak\Student\Profiledocs\610\myfile.txt上传成功完成。

现在,我要使用asp页面删除本地存储中的特定学生资料文档。

D:\Vinayak\Student\Profiledocs\610\myfile.txt是我的文件存储目录。

现在我将如何删除此子文件夹和文件\610\myfile.txt

610是我的studentid中的student details命名的列值 桌子。

如果我选择任何学生身份,例如610 or 12

学生文件保存在我的父文件夹Profiledocs中。 像这样

\Profiledocs\610\myfile.txt
\Profiledocs\121\myfile1.txt
\Profiledocs\321\myfile2.txt

现在我要删除父文件夹中的子文件夹和文件。Profiledocs

2 个答案:

答案 0 :(得分:1)

您可以使用以下方法通过将studentId作为参数来删除子文件夹及其内容。

private static void DeleteSubFolderAndContent(int studentId)
{
    string path = Path.Combine(@"D:\Vinayak\Student\Profiledocs", studentId.ToString());   
    Directory.Delete(path, true);
}

您可以使用上述功能,例如

static void Main(string[] args)
{
    DeleteSubFolderAndContent(610); // <= "610" comes from database

    Console.WriteLine("Sub Folder and Its Content Deleted Successfully");
    Console.ReadLine();
}

注意:请确保您的上传文件夹具有完全的读写控制权限。

答案 1 :(得分:0)

因此,您拥有完整的文件路径,并且希望删除其当前目录。首先,您需要获取目录路径。

fileDirectory = System.IO.Path.GetDirectoryName(filename)

下面的这段代码将删除当前目录中的所有文件夹和文件。

System.IO.DirectoryInfo di = new DirectoryInfo(fileDirectory);

foreach (FileInfo file in di.GetFiles())
{
    file.Delete(); 
}
foreach (DirectoryInfo dir in di.GetDirectories())
{
    dir.Delete(true); 
}