1. 程式人生 > >C#刪除資料夾下所有的檔案

C#刪除資料夾下所有的檔案

      上傳到temp資料夾下面的檔案需要刪除掉,使用FileInfo.Delete 方法可以成功的刪除壓縮包檔案。當使用FileInfo.Delete 方法刪除資料夾的時報錯{"對路徑“D:\\專案\\temp”的訪問被拒絕。"}  。找了一下資料使用Directory.Delete(path,true);方式刪除,也報錯:未能找到路徑“D:\專案\temp”的一部分。

       總結了一下問題,是因為刪除檔案和刪除空資料夾的方法不一樣,但是刪除空資料夾的時候,需要去除資料夾自身的只讀屬性。

        //建立方法,刪除資料夾中的所有檔案包括資料夾本身
        public
 void DeleteFile(string file)         {             //去除資料夾和子檔案的只讀屬性             //去除資料夾的只讀屬性             System.IO.DirectoryInfo fileInfo = new DirectoryInfo(file);             fileInfo.Attributes = FileAttributes.Normal & FileAttributes.Directory;             //去除檔案的只讀屬性             System.IO.File.SetAttributes(file, System.IO.FileAttributes
.Normal);             //判斷資料夾是否還存在             if (Directory.Exists(file))             {                 foreach (string f in Directory.GetFileSystemEntries(file))                 {                     if (File.Exists(f))                     {                         //如果有子檔案刪除檔案                         File
.Delete(f);                     }                     else                      {                         //迴圈遞迴刪除子資料夾                          DeleteFile(f);                             }                 }                 //刪除空資料夾                  Directory.Delete(file);                    }         }


相關推薦

C#刪除資料所有檔案

        /// <summary>         /// 刪除資料夾內容         /// </summary>         /// <param name="folderPath">資料夾路徑</param&g

C#刪除資料所有檔案

      上傳到temp資料夾下面的檔案需要刪除掉,使用FileInfo.Delete 方法可以成功的刪除壓縮包檔案。當使用FileInfo.Delete 方法刪除資料夾的時報錯{"對路徑“D:\\專案\\temp”的訪問被拒絕。"}  。找了一下資料使用Directo

一個刪除資料所有檔案的shell指令碼,不刪除最外層的資料

最近,由於工作需要,寫了一個刪除資料夾下所有檔案的shell指令碼,程式碼比較醜陋,但是可用,哈哈。centos7下親測可用。該指令碼只刪除父資料夾下的所有檔案和子資料夾,但不刪除父資料夾本身。 這個

C/C++獲取資料所有檔案的名字及全路徑

在實際中,會遇到需要通過程式獲取當前路徑下所有檔案的名稱,以下函式可以實現獲取所給路徑下檔名 及檔案對應的全路徑;需要包含文章末尾的兩個標頭檔案#include <vector> #include"dirent.h" #include"unistd.h" usi

使用cmd命令刪除資料所有檔案 使用cmd命令刪除資料所有檔案

使用cmd命令刪除資料夾下所有檔案   rmdir 刪除整個目錄 好比說我要刪除 222 這個目錄下的所有目錄和檔案,這語法就是: rmdir /s/q 222 其中: /s 是代表刪除所有子目錄跟其中的檔案。 /q 是不要它在刪除檔案或目錄時,不再問我

c++ 獲取資料所有檔案

用c++獲取指定資料夾下的所有檔案,包括子資料夾裡的檔案。 void GetAllFiles( string path, list<string>&AllFiles, bool

Linux C 讀取資料所有檔案(包括子資料)的檔名

Linux C  下面讀取資料夾要用到結構體struct dirent,在頭#include <dirent.h>中,如下: #include <dirent.h> struct dirent { long d_ino; /* inode number 索引節點號

ThinkPHP清除快取/刪除資料所有檔案

今天做了一個ThinkPHP清除快取功能,在網上開了一下有一個比較簡單的寫法但是那個是ThinkPHP內建的一個類,我找了半天沒找到這個類,氣死我了  於是就用php刪除資料夾下所有檔案這個方法來達到清除緩快取的的功能,廢話不多說粘上程式碼: /*此方法為公共方法用來刪除某

C++獲得資料所有檔案的路徑及檔名

標頭檔案:#include< io.h > filePath:資料夾路徑 vector<string> files; ////獲取該路徑下的所有檔案 getFil

iOS 刪除資料所有檔案

源:http://www.cnblogs.com/easonoutlook/archive/2012/09/09/2677893.html 有時候需要在iOS系統裡面,刪除指定資料夾的內容,資料夾裡面可能是檔案,也可能包含有資料夾。 刪除指定型別的檔案。方法如下:

C#/.NET中刪除指定資料所有檔案資料的幾種方法彙總

我們知道,在C#/.NET中的System.IO名稱空間下,都是關於檔案和資料夾資訊操作的類。如果在開發中有刪除指定資料夾下所有檔案和資料夾這樣的需要,應該如何使用C#/.NET來實現這個需求呢?方法一:直接刪除整個指定資料夾使用使用Directory.Delete("資料

nodejs 刪除資料所有檔案 delDir

node 只可以刪除空資料夾和檔案 ,所以只可以遞迴刪除資料夾下檔案 const fs = require('fs'); function delDir(path){ let files = []; if(fs.existsSync(path)){

python 遍歷,刪除,複製資料所有檔案

import os def files_and_dirs_list(dir_path): """ 遍歷資料夾及資料夾下所有檔案(包括資料夾) :param dir_path: 資料夾路徑 :return: root 所指的是當前正在遍歷的這個資料

Java遞迴刪除指定資料所有檔案

Java遞迴刪除指定資料夾下所有檔案 工具類封裝 public class FileUtils{ public static boolean delAllFile(String path) { return delAllFile(new File(path)

上機考試系統 commons-fileupload 上傳與下載 && 壓縮為 zip 檔案 && 刪除資料所有內容

在 maven 中使用了 commons-fileupload,使用方法: (一)上傳 1-1.前端介面 <form action="" enctype="multipart/form-data" class="modifyall" method="post

C++ 遍歷某個資料所有檔案

#include<iostream> #include<string> #include<io.h> #include<cstdio> #include<cstdlib> #include<cstring> using namespace

基於C/C++的讀取資料所有檔案(圖片、文件等)的程式碼

<pre name="code" class="cpp">#include <iostream> #include <string> #include <vector> #include <io.h> #inclu

C++ 遍歷資料以及子資料所有檔案

CFileFind 所提供的方法進行資料夾以及子資料夾遍歷時,經過測試會出現如果當前遍歷的路徑為碟符,且碟符中僅包含一箇中文資料夾(資料夾名以漢字開頭),此時遍歷不到該資料夾。 所以採用以下方法(需要新增頭#include "io.h" ) void GetAllFile

linux c語言遞迴遍歷資料所有檔案和子資料(附上替換文字檔案內容的方法)

#include <stdio.h> #include <sys/dir.h> #include <string> #include <sys/stat.h> //判斷是否為資料夾 bool isDir(const cha

刪除資料所有檔案

import java.io.File; public class Test { public static void main(String args[]){ Test t = new Test(); delFolder("c:/bb"