Мне удалось удалить атрибут «Только чтение» в файле, используя следующий фрагмент кода:
В файле main.cs
FileSystemInfo[] sqlParentFileSystemInfo = dirInfo.GetFileSystemInfos();
foreach (var childFolderOrFile in sqlParentFileSystemInfo)
{
RemoveReadOnlyFlag(childFolderOrFile);
}
private static void RemoveReadOnlyFlag(FileSystemInfo fileSystemInfo)
{
fileSystemInfo.Attributes = FileAttributes.Normal;
var di = fileSystemInfo as DirectoryInfo;
if (di != null)
{
foreach (var dirInfo in di.GetFileSystemInfos())
RemoveReadOnlyFlag(dirInfo);
}
}
К сожалению, это не работает в папках,После запуска кода, когда я захожу в папку, щелкните правой кнопкой мыши и выполните свойства, вот что я вижу:
Флаг только для чтения все еще проверен, хотя он был удален изфайлы под ним.Это приводит к сбою процесса удаления этой папки.Когда я вручную удаляю флаг и повторно запускаю процесс (файл bat), он может удалить файл (поэтому я знаю, что это не проблема с файлом bat)
Как мне удалить этот флаг в C #