- 最後登錄
- 2023-4-24
- 在線時間
- 2 小時
- 註冊時間
- 2008-4-1
- 閱讀權限
- 20
- 精華
- 0
- UID
- 3887184
- 帖子
- 372
- 積分
- 21 點
- 潛水值
- 5911 米
| 若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。 以下是在網路上看的,提供參考 。。。 原始資料來源<<章立民研究室>>
僅僅將檔案屬性設定成 FileAttributes.ReadOnly 是不夠的,原因是檔案可能本來就已經擁有其他屬性。所以,我們必須將寄存的屬性 (Arritbutes) 與 fileAttributes.ReadOnly 組合起來,檔案屬性是表示成一個位元遮罩。為了組合兩個位元遮罩,我們使用「| 」
運算子。以下程式碼會將檔案設定成唯讀的。- string myFile = @"C:\Test.txt";
- File.SetAttributes(myFile,
- File.GetAttributes(myFile) | FileAttributes.ReadOnly);
- MessageBox.Show("已經將" + myFile + " 設定成唯讀的,請於Windows 檔案總管中加以驗證。");
- // 啟動Windows 檔案總管。
- Process.Start("explorer.exe", @"C:\");
複製代碼 同樣的,我們可以移除一個檔案的 ReadOnly 屬性 (Attribute) 來使奇成為可讀取及寫入的。要從一個位元遮罩中移除某一個項目,我們必須如上述的程式碼所示,使用「^」運算子。此方法會使得所有其他屬性不被碰觸,但是確保 ReadOnly 屬性被移除。
以下程式碼會將檔案可讀取及寫入的。- string myFile = @"C:\Test.txt";
- File.SetAttributes(myFile,
- File.GetAttributes(myFile) ^ FileAttributes.ReadOnly);
- MessageBox.Show("已經將" + myFile + " 設定成可讀取及寫入,請於Windows 檔案總管中加以驗證。");
- // 啟動Windows 檔案總管。
- Process.Start("explorer.exe", @"C:\");
複製代碼 ... |
|