【问题标题】:write protection mode will not change写保护模式不会改变
【发布时间】:2015-05-23 07:23:36
【问题描述】:

我使用以下代码删除写保护文件夹,以便我可以删除它。但它不会起作用。

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

如何取消写保护?

如果我可以从磁盘中删除文件保护,那么请提供一些代码来执行此操作。

任何帮助将不胜感激

提前致谢

【问题讨论】:

    标签: c# registry file-attributes


    【解决方案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;
    } 
    

    你应该把 driveLetter 像这样:"F:"

    【讨论】:

    • 这个目录下有写保护文件吗?
    • 此文件在 USB 闪存设备中,并且 USB 闪存被写保护。我什至无法格式化驱动器
    • 您要删除文件还是目录/文件夹?!
    • 我想删除我能删除的所有内容。我想删除所有文件夹和文件。格式化之类的东西导致我什至无法格式化驱动器
    • 我发布了一个代码,链接到如何格式化 USB 驱动器的文章。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-23
    • 2016-02-04
    • 2017-12-26
    • 1970-01-01
    • 2018-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多