Udostępnij za pośrednictwem


FileAttributes Wyliczenie

Definicja

Udostępnia atrybuty dla plików i katalogów.

To wyliczenie obsługuje bitową kombinację jego wartości składowych.

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
Dziedziczenie
FileAttributes
Atrybuty

Pola

Archive 32

Ten plik jest oznaczony jako uwzględniony w operacji przyrostowej kopii zapasowej. System Windows ustawia ten atrybut za każdym razem, gdy plik jest modyfikowany, a oprogramowanie kopii zapasowej powinno wyczyścić go podczas przetwarzania pliku podczas przyrostowej kopii zapasowej.

Compressed 2048

Plik jest kompresowany.

Device 64

Zarezerwowane do użytku w przyszłości.

Directory 16

Plik jest katalogiem. Directory program jest obsługiwany w systemach Windows, Linux i macOS.

Encrypted 16384

Plik lub katalog jest zaszyfrowany. W przypadku pliku oznacza to, że wszystkie dane w pliku są szyfrowane. W przypadku katalogu oznacza to, że szyfrowanie jest ustawieniem domyślnym dla nowo utworzonych plików i katalogów.

Hidden 2

Plik jest ukryty i w związku z tym nie znajduje się na liście zwykłych katalogów. Hidden program jest obsługiwany w systemach Windows, Linux i macOS.

IntegrityStream 32768

Plik lub katalog zawiera obsługę integralności danych. Po zastosowaniu tej wartości do pliku wszystkie strumienie danych w pliku mają obsługę integralności. Po zastosowaniu tej wartości do katalogu wszystkie nowe pliki i podkatalogi w tym katalogu domyślnie obejmują obsługę integralności.

None 0
Normal 128

Plik jest plikiem standardowym, który nie ma atrybutów specjalnych. Ten atrybut jest prawidłowy tylko wtedy, gdy jest używany sam. Normal program jest obsługiwany w systemach Windows, Linux i macOS.

NoScrubData 131072

Plik lub katalog jest wykluczony ze skanowania integralności danych. Gdy ta wartość jest stosowana do katalogu, domyślnie wszystkie nowe pliki i podkatalogi w tym katalogu są wykluczone z integralności danych.

NotContentIndexed 8192

Plik nie będzie indeksowany przez usługę indeksowania zawartości systemu operacyjnego.

Offline 4096

Plik jest w trybie offline. Dane pliku nie są natychmiast dostępne.

ReadOnly 1

Plik jest tylko do odczytu. ReadOnly jest obsługiwany w systemach Windows, Linux i macOS. W systemach Linux i macOS zmiana flagi ReadOnly jest operacją uprawnień.

ReparsePoint 1024

Plik zawiera punkt ponownej analizy, który jest blokiem danych zdefiniowanych przez użytkownika skojarzonych z plikiem lub katalogiem. ReparsePoint jest obsługiwany w systemach Windows, Linux i macOS.

SparseFile 512

Plik jest oszczędnym plikiem. Pliki rozrzedne to zazwyczaj duże pliki, których dane składają się głównie zer.

System 4

Plik jest plikiem systemowym. Oznacza to, że plik jest częścią systemu operacyjnego lub jest używany wyłącznie przez system operacyjny.

Temporary 256

Plik jest tymczasowy. Plik tymczasowy zawiera dane, które są potrzebne podczas wykonywania aplikacji, ale nie są potrzebne po zakończeniu aplikacji. Systemy plików starają się zachować wszystkie dane w pamięci, aby uzyskać szybszy dostęp, a nie opróżnić dane z powrotem do magazynu masowego. Plik tymczasowy powinien zostać usunięty przez aplikację, gdy tylko nie jest już potrzebny.

Przykłady

W poniższym przykładzie pokazano, jak pobrać atrybuty dla pliku i sprawdzić, czy plik jest tylko do odczytu.

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

Uwagi

Atrybuty dla plików i katalogów można uzyskać, wywołując metodę File.GetAttributes , i można je ustawić, wywołując metodę File.SetAttributes .

Nie można zmienić stanu File kompresji obiektu przy użyciu File.SetAttributes metody . Zamiast tego należy faktycznie skompresować plik przy użyciu narzędzia kompresji lub jednej z klas w System.IO.Compression przestrzeni nazw.

Następujące atrybuty nie są obsługiwane przez platformę .NET Core w systemach Linux i macOS:

W systemach Unix wartość zwracana przez File.GetAttributes element zawiera Hidden dla pliku, którego nazwa zaczyna się kropką ("."). W systemie macOS możesz pobrać lub ustawić flagę ukrytą.

Dotyczy

Zobacz też