Поделиться через


FileAttributes Перечисление

Определение

Предоставляет атрибуты для файлов и каталогов.

Это перечисление поддерживает побитовую комбинацию значений его членов.

public enum class FileAttributes
[System.Flags]
public enum FileAttributes
[System.Flags]
[System.Serializable]
public enum FileAttributes
[System.Flags]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum FileAttributes
[<System.Flags>]
type FileAttributes = 
[<System.Flags>]
[<System.Serializable>]
type FileAttributes = 
[<System.Flags>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileAttributes = 
Public Enum FileAttributes
Наследование
FileAttributes
Атрибуты

Поля

Archive 32

Этот файл помечается для включения в операцию добавочного резервного копирования. Windows устанавливает этот атрибут при каждом изменении файла, и программному обеспечению резервного копирования нужно снимать его при обработке файла в рамках добавочного резервного копирования.

Compressed 2048

Файл сжат.

Device 64

Зарезервировано для будущего использования.

Directory 16

Файл является каталогом. Directory поддерживается в Windows, Linux и macOS.

Encrypted 16384

Файл или каталог зашифрован. Для файла это означает, что все данные в файле зашифрованы. Для каталога это означает, что шифрование производится по умолчанию для вновь создаваемых файлов и каталогов.

Hidden 2

Файл скрытый и, таким образом, не включается в обычный список каталога. Hidden поддерживается в Windows, Linux и macOS.

IntegrityStream 32768

Файл или каталог включает поддержку целостности данных. Когда это значение применяется к файлу, все потоки данных в этом файле имеют поддержку целостности. Когда это значение применяется к каталогу, все новые файлы и подкаталоги этого каталога по умолчанию включают поддержку целостности.

None 0
Normal 128

Файл является стандартным файлом без специальных атрибутов. Этот атрибут действителен, только если он используется отдельно. Normal поддерживается в Windows, Linux и macOS.

NoScrubData 131072

Файл или каталог исключен из проверки целостности данных. Когда это значение применяется к каталогу, по умолчанию для всех новых файлов и подкаталогов этого каталога поддержка целостности исключается.

NotContentIndexed 8192

Файл не будет индексироваться службой индексирования содержимого операционной системы.

Offline 4096

Файл находится в автономном режиме. Данные этого файла недоступны непосредственно.

ReadOnly 1

Файл доступен только для чтения. ReadOnly поддерживается в Windows, Linux и macOS. В Linux и macOS изменение флага ReadOnly — это операция с разрешениями.

ReparsePoint 1024

Файл содержит точку повторной обработки, блокирующую определяемые пользователем данные, связанные с файлом или каталогом. ReparsePoint поддерживается в Windows, Linux и macOS.

SparseFile 512

Файл является разреженным. Разреженными файлами обычно являются большие файлы, в которых содержатся в основном нулевые данные.

System 4

Файл является системным. То есть файл является частью операционной системы или используется исключительно операционной системой.

Temporary 256

Файл является временным. Временный файл содержит данные, необходимые во время выполнения приложения, но не требуемые после завершения приложения. Файловые системы для ускорения доступа стремятся держать все данные в памяти, а не сбрасывать их обратно на запоминающее устройство. Приложение должно стереть временный файл сразу после того, как он перестанет быть нужным.

Примеры

В следующем примере показано, как получить атрибуты для файла и проверка, если файл доступен только для чтения.

using System;
using System.IO;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            FileAttributes attributes = File.GetAttributes("c:/Temp/testfile.txt");
            if ((attributes & FileAttributes.ReadOnly) == FileAttributes.ReadOnly)
            {
                Console.WriteLine("read-only file");
            }
            else
            {
                Console.WriteLine("not read-only file");
            }
        }
    }
}
open System.IO

let attributes = File.GetAttributes "c:/Temp/testfile.txt"
if attributes &&& FileAttributes.ReadOnly = FileAttributes.ReadOnly then
    printfn "read-only file"
else
    printfn "not read-only file"
Imports System.IO
Imports System.Text

Module Module1
    Sub Main()
        Dim attributes = File.GetAttributes("c:/Temp/testfile.txt")
        If ((attributes And FileAttributes.ReadOnly) = FileAttributes.ReadOnly) Then
            Console.WriteLine("read-only file")
        Else
            Console.WriteLine("not read-only file")
        End If
    End Sub
End Module

Комментарии

Вы можете получить атрибуты для файлов и каталогов, вызвав File.GetAttributes метод , и задать их, вызвав File.SetAttributes метод .

Изменить состояние File сжатия объекта с помощью File.SetAttributes метода невозможно. Вместо этого необходимо фактически сжать файл с помощью средства сжатия или одного из классов в System.IO.Compression пространстве имен.

Следующие атрибуты не поддерживаются .NET Core в Linux и macOS:

В системах Unix значение, возвращаемое параметром File.GetAttributes , включает Hidden для файла, имя которого начинается с точки ("."). В macOS можно получить или установить скрытый флаг.

Применяется к

См. также раздел