取消文件夾下的子文件夾和文件的只讀屬性

来源:http://www.cnblogs.com/xuejianxiyang/archive/2017/09/13/7514477.html
-Advertisement-
Play Games

private void UnsetReadOnly(string dirPath) {//http://bbs.csdn.net/topics/380233913 string[] dirPathes = Directory.GetDirectories(dirPath, "*.*", Searc ...


private void UnsetReadOnly(string dirPath)
{//http://bbs.csdn.net/topics/380233913
string[] dirPathes = Directory.GetDirectories(dirPath, "*.*", SearchOption.AllDirectories);
string[] filePathes = Directory.GetFiles(dirPath, "*.*", SearchOption.AllDirectories);
foreach (var dp in dirPathes)
{
DirectoryInfo dir = new DirectoryInfo(dirPath);
dir.Attributes = FileAttributes.Normal & FileAttributes.Directory;
}
foreach (var fp in filePathes)
{
File.SetAttributes(fp, System.IO.FileAttributes.Normal);
}
}

 

用ICSharpZipLib解壓,如果目標文件夾里的文件為只讀屬性會導致解壓失敗:UnauthorizedAccessException: Access to the path is denied.

使用如上代碼取消文件的只讀屬性後解決.(只設置文件夾的Attributes為非只讀沒作用,裡面的文件還是只讀)

 

From:http://www.cnblogs.com/xuejianxiyang/p/7514477.html


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.環境: ubuntu16.04 2.背景: 想更換下位機內核 3.使用kermit進行串口傳輸 舉例:傳輸文件到下位機 2.1首先進入下位機的uboot 2.2 使用uboot自帶的命令從串口接收數據 loadb 將接收到的數據放到記憶體的某個位置 比如: loadb 0x42000000 2.3 ...
  • 1.環境: Ubuntu 16.04 2.獲取 wget mirrors.ustc.edu.cn/gnu/gcc/gcc-4.8.3/gcc-4.8.3.tar.bz2 3.解壓 tar xvf gcc-4.8.3.tar.bz2 4.切換目錄 cd gcc-4.8.3 5.下載mpfr等依賴庫 . ...
  • (1)普通文件(regular file):這是最常用的文件類型,這種文件包含了某種形式的數據,文件內容的解釋由處理該文件的應用程式進行。 (2)目錄文件(directory file):這種文件包含了其他文件的 名字以及指向這些文件有關信息的指針。對一個目錄文件具有讀許可權的進程,都可以讀該目錄的內 ...
  • 第二天,繼續學習Linux命令。。。 一、查看文件和目錄列表的命令 ls:顯示當前目錄下的文件和目錄,但是不會顯示隱藏的文件和目錄。 ls -a:顯示當前目錄下的所有文件和目錄。 ls -l:顯示當前目錄下的文件和目錄的一些詳細信息,其中包括: 文件類型:比如目錄(d)、文件(-)、字元型文件(c) ...
  • 關鍵字:StructLayout、LayoutKind.Explicit、FieldOffset 輸出的值: 欄位定義交換順序: 同樣的偏移量,輸出的值以最後一個欄位的值為準。 CLR保持開發人員的定義欄位的順序。 ...
  • 系統環境 操作系統:CentOS6.9關閉防火牆 安裝步驟 1. 安裝Postfix 2. 下載rpm包並安裝 3. 配置gitlab,vim /etc/gitlab/gitlab.rb,指定ip+埠號 4. 執行配置並啟動。--gitlab-ctl reconfigure--gitlab-ctl ...
  • 1.新建項目選擇ASP.net MVC 4 Web應用程式 2.選擇Web API c 3.在新建立的項目裡面有已經生成的webapi模版 其中App_Start文件夾下WebApiConfig.cs和RouteConfig.cs文件主要配置api的路由信息。 Controllers文件夾下的文件為 ...
  • 1. 前言 最近在自定義Expander的樣式,順便看了看它的源碼。 Expander控制項是一個ContentControl,它通過IsExpanded屬性或者通過點擊Header中的ToggleButton控制內容展開或隱藏。UWP SDK中沒提供這個控制項,而是在UWP Community Too ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...