2015-05-23 79 views
0

我使用下面的代碼來刪除寫保護文件夾,以便我可以刪除它。但它不會起作用。寫保護模式不會改變

File.SetAttributes(@"F:\File", FileAttributes.Normal); 
File.Delete(@"F:\File"); 

如何刪除寫保護?

如果我可以從磁盤中刪除文件保護,那麼給一些代碼來做到這一點。

任何幫助將不勝感激

在此先感謝

回答

1

有文件夾和文件之間的差異。有了這個,你將刪除只讀屬性並刪除文件夾。

var di = new DirectoryInfo(@"F:\File"); 
di.Attributes &= ~FileAttributes.ReadOnly; 
di.Delete(true); 

編輯

Formating USB drive。你可以閱讀文章。

public static bool FormatDrive(string driveLetter, 
    string fileSystem = "NTFS", bool quickFormat=true, 
    int clusterSize = 8192, string label = "", bool enableCompression = false) 
{ 
    if (driveLetter.Length != 2 || driveLetter[1] != ':'|| !char.IsLetter(driveLetter[0])) 
     return false; 

    //query and format given drive   
    ManagementObjectSearcher searcher = new ManagementObjectSearcher 
    (@"select * from Win32_Volume WHERE DriveLetter = '" + driveLetter + "'"); 
    foreach (ManagementObject vi in searcher.Get()) 
    { 
     vi.InvokeMethod("Format", new object[] 
    { fileSystem, quickFormat,clusterSize, label, enableCompression }); 
    } 

    return true; 
} 

你應該把這樣的驅動器號:"F:"

+0

它仍然給我刪除寫保護錯誤 – aliboy38

+0

你有這個目錄在寫保護的文件? – mybirthname

+0

該文件位於USB閃存設備中,USB閃存被寫保護。我甚至無法格式化驅動器 – aliboy38