FileAttributes Wyliczenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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. |
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. |
2 | Plik jest ukryty i w związku z tym nie znajduje się na liście zwykłych katalogów. |
|
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. |
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. |
ReparsePoint | 1024 | Plik zawiera punkt ponownej analizy, który jest blokiem danych zdefiniowanych przez użytkownika skojarzonych z plikiem lub katalogiem. |
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:
- FileAttributes.Archive
- FileAttributes.Compressed
- FileAttributes.Device
- FileAttributes.Encrypted
- FileAttributes.IntegrityStream
- FileAttributes.NoScrubData
- FileAttributes.NotContentIndexed
- FileAttributes.Offline
- FileAttributes.SparseFile
- FileAttributes.System
- FileAttributes.Temporary
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ą.