public void SetAttributes(string path, bool isHidden, bool isReadOnly) { if (_sharpCifsFileSystem.IsEnabledForPath(path)) { _sharpCifsFileSystem.SetAttributes(path, isHidden, isReadOnly); return; } var info = GetFileInfo(path); if (!info.Exists) { return; } if (info.IsReadOnly == isReadOnly && info.IsHidden == isHidden) { return; } var attributes = File.GetAttributes(path); if (isReadOnly) { attributes = attributes | FileAttributes.ReadOnly; } else { attributes = RemoveAttribute(attributes, FileAttributes.ReadOnly); } if (isHidden) { attributes = attributes | FileAttributes.Hidden; } else { attributes = RemoveAttribute(attributes, FileAttributes.Hidden); } File.SetAttributes(path, attributes); }