حذف کردن نوع مشخصی از فایل های یک فولدر در ASP.Net

یکشنبه 29 شهریور 1394

در این مقاله همراه با یک مثال نحوه حذف کردن یک فایل از یک directory/folder را شرح می دهیم. می توانید تمام فایل ها با پسوند مشخص (برای مثال : فایل با پسوند jpg ,.png,.docx. و...) را از دایرکتوری مشخص و زیر شاخه های آن به صورت بازگشتی در ASP.Net با استفاده از #C حذف کنید.

حذف کردن نوع مشخصی از فایل های یک فولدر در ASP.Net

پیاده سازی

یک فولدر/دایرکتوری با نام  MyContents در root ایجاد کنید. تعدادی فایل و فولدر در این فولدر قرار دهید. همچنین تعدادی فایل وفولدر در زیرشاخه آن قرار دهید. حال تمام فایل های jpg. را ازفولدرMyContent و زیرشاخه آن حذف کنید.

بخش ASP.Net

کد HTML

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="btnDelete" runat="server" Text="Delete" OnClick="btnDelete_Click" />
    </div>
    </form>
</body>
</html>

کد   #C

برای حذف کردن همه ی فایل ها و زیرشاخه های آن از دایرکتوری در  code behind  فایل  default.aspx.cs کد زیر را بنویسید.

فضای نام زیر را به پروژه خود اضافه کنید.

using System.IO

Then write the code as:
protected void btnDelete_Click(object sender, EventArgs e)
    {
        DirectoryInfo directory = new DirectoryInfo(Server.MapPath("~/MyContents/"));
        EmptyFolder(directory);
    }

private void EmptyFolder(DirectoryInfo directory)
    {
        foreach (FileInfo file in directory.GetFiles())
        {
            if (file.Extension.ToLower().Equals(".jpg"))
            {
                file.Delete();
            }
        }
        foreach (DirectoryInfo subdirectory in directory.GetDirectories())
        {
            EmptyFolder(subdirectory);           
        }
    }

همانطور که در شکل زیر نشان داده شده است فایل jpg. زیر را از فولدر My Contents حذف کرده ایم.

بخش  ASP.Net VB

کد HTML

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:Button ID="btnDelete" runat="server" Text="Delete" />
    </div>
    </form>
</body>
</html>

کد  ASP.Net VB

برای حذف کردن همه ی فایل ها و زیرشاخه های آن از دایرکتوری، در code behind فایل default.aspx.cs کد زیر را بنویسید.

فضای نام زیر را به پروژه خود اضافه کنید.

Import syste.IO

Then write the code as:
  Protected Sub btnDelete_Click(sender As Object, e As EventArgs) Handles btnDelete.Click
        Dim directory As New DirectoryInfo(Server.MapPath("~/MyContents/"))
        EmptyFolder(directory)
    End Sub

  Private Sub EmptyFolder(directory As DirectoryInfo)
        For Each file As FileInfo In directory.GetFiles()
            If file.Extension.ToLower().Equals(".jpg") Then
                file.Delete()
            End If
        Next
        For Each subdirectory As DirectoryInfo In directory.GetDirectories()
            EmptyFolder(subdirectory)
        Next
    End Sub

 

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید