How to delete a specific file from folder using asp.net

后端 未结 5 620
感情败类
感情败类 2021-02-01 21:12

here\'s the deal I got a datagridviewer which is called gridview1 and a fileupload1 when i upload a file it updates the gridview1 and table in database with the file name and pa

5条回答
  •  攒了一身酷
    2021-02-01 21:20

    Delete any or specific file type(for example ".bak") from a path. See demo code below -

    class Program
            {
            static void Main(string[] args)
                {
    
                // Specify the starting folder on the command line, or in 
                TraverseTree(ConfigurationManager.AppSettings["folderPath"]);
    
                // Specify the starting folder on the command line, or in 
                // Visual Studio in the Project > Properties > Debug pane.
                //TraverseTree(args[0]);
    
                Console.WriteLine("Press any key");
                Console.ReadKey();
                }
    
            public static void TraverseTree(string root)
                {
    
                if (string.IsNullOrWhiteSpace(root))
                    return;
    
                // Data structure to hold names of subfolders to be
                // examined for files.
                Stack dirs = new Stack(20);
    
                if (!System.IO.Directory.Exists(root))
                    {
                    return;
                    }
    
                dirs.Push(root);
    
                while (dirs.Count > 0)
                    {
                    string currentDir = dirs.Pop();
                    string[] subDirs;
                    try
                        {
                        subDirs = System.IO.Directory.GetDirectories(currentDir);
                        }
    
                    // An UnauthorizedAccessException exception will be thrown if we do not have
                    // discovery permission on a folder or file. It may or may not be acceptable 
                    // to ignore the exception and continue enumerating the remaining files and 
                    // folders. It is also possible (but unlikely) that a DirectoryNotFound exception 
                    // will be raised. This will happen if currentDir has been deleted by
                    // another application or thread after our call to Directory.Exists. The 
                    // choice of which exceptions to catch depends entirely on the specific task 
                    // you are intending to perform and also on how much you know with certainty 
                    // about the systems on which this code will run.
                    catch (UnauthorizedAccessException e)
                        {
                        Console.WriteLine(e.Message);
                        continue;
                        }
                    catch (System.IO.DirectoryNotFoundException e)
                        {
                        Console.WriteLine(e.Message);
                        continue;
                        }
    
                    IEnumerable files = null;
                    try
                        {
                        //get only .bak file
                        var directory = new DirectoryInfo(currentDir);
                        DateTime date = DateTime.Now.AddDays(-15);
                        files = directory.GetFiles("*.bak").Where(file => file.CreationTime <= date);
                        }
                    catch (UnauthorizedAccessException e)
                        {
                        Console.WriteLine(e.Message);
                        continue;
                        }
                    catch (System.IO.DirectoryNotFoundException e)
                        {
                        Console.WriteLine(e.Message);
                        continue;
                        }
    
                    // Perform the required action on each file here.
                    // Modify this block to perform your required task.
                    foreach (FileInfo file in files)
                        {
                        try
                            {
                            // Perform whatever action is required in your scenario.
                            file.Delete();
                            Console.WriteLine("{0}: {1}, {2} was successfully deleted.", file.Name, file.Length, file.CreationTime);
                            }
                        catch (System.IO.FileNotFoundException e)
                            {
                            // If file was deleted by a separate application
                            //  or thread since the call to TraverseTree()
                            // then just continue.
                            Console.WriteLine(e.Message);
                            continue;
                            }
                        }
    
                    // Push the subdirectories onto the stack for traversal.
                    // This could also be done before handing the files.
                    foreach (string str in subDirs)
                        dirs.Push(str);
                    }
                }
            }
    

    for more reference - https://msdn.microsoft.com/en-us/library/bb513869.aspx

提交回复
热议问题