FileAttributes Enumeration
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt Attribute für Dateien und Verzeichnisse bereit.
Diese Enumeration unterstützt eine bitweise Kombination ihrer Memberwerte.
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
- Vererbung
- Attribute
Felder
| Name | Wert | Beschreibung |
|---|---|---|
| ReadOnly | 1 | Die Datei ist schreibgeschützt.
|
| 2 | Die Datei ist ausgeblendet und ist daher nicht in einer normalen Verzeichnisauflistung enthalten.
|
|
| System | 4 | Die Datei ist eine Systemdatei. Das heißt, die Datei ist Teil des Betriebssystems oder wird ausschließlich vom Betriebssystem verwendet. |
| Directory | 16 | Die Datei ist ein Verzeichnis.
|
| Archive | 32 | Diese Datei ist als inkrementeller Sicherungsvorgang gekennzeichnet. Windows legt dieses Attribut bei jeder Änderung der Datei fest, und die Sicherungssoftware sollte sie beim Verarbeiten der Datei während der inkrementellen Sicherung löschen. |
| Device | 64 | Reserviert für zukünftige Verwendung. |
| Normal | 128 | Die Datei ist eine Standarddatei, die keine speziellen Attribute aufweist. Dieses Attribut ist nur gültig, wenn es allein verwendet wird.
|
| Temporary | 256 | Die Datei ist temporär. Eine temporäre Datei enthält Daten, die benötigt werden, während eine Anwendung ausgeführt wird, aber nach Abschluss der Anwendung nicht benötigt wird. Dateisysteme versuchen, alle Daten im Arbeitsspeicher zu speichern, um schnelleren Zugriff zu ermöglichen, anstatt die Daten wieder in den Massenspeicher zu leeren. Eine temporäre Datei sollte von der Anwendung gelöscht werden, sobald sie nicht mehr benötigt wird. |
| SparseFile | 512 | Die Datei ist eine sparse Datei. Geringe Dateien sind in der Regel große Dateien, deren Daten hauptsächlich aus Nullen bestehen. |
| ReparsePoint | 1024 | Die Datei enthält einen Analysepunkt, bei dem es sich um einen Block benutzerdefinierter Daten handelt, die einer Datei oder einem Verzeichnis zugeordnet sind.
|
| Compressed | 2048 | Die Datei wird komprimiert. |
| Offline | 4096 | Die Datei ist offline. Die Daten der Datei sind nicht sofort verfügbar. |
| NotContentIndexed | 8192 | Die Datei wird nicht vom Inhaltsindizierungsdienst des Betriebssystems indiziert. |
| Encrypted | 16384 | Die Datei oder das Verzeichnis ist verschlüsselt. Bei einer Datei bedeutet dies, dass alle Daten in der Datei verschlüsselt sind. Für ein Verzeichnis bedeutet dies, dass die Verschlüsselung die Standardeinstellung für neu erstellte Dateien und Verzeichnisse ist. |
| IntegrityStream | 32768 | Die Datei oder das Verzeichnis enthält unterstützung für die Datenintegrität. Wenn dieser Wert auf eine Datei angewendet wird, haben alle Datenströme in der Datei Integritätsunterstützung. Wenn dieser Wert auf ein Verzeichnis angewendet wird, enthalten alle neuen Dateien und Unterverzeichnisse in diesem Verzeichnis standardmäßig die Integritätsunterstützung. |
| NoScrubData | 131072 | Die Datei oder das Verzeichnis wird von der Datenintegritätsüberprüfung ausgeschlossen. Wenn dieser Wert auf ein Verzeichnis angewendet wird, werden standardmäßig alle neuen Dateien und Unterverzeichnisse innerhalb dieses Verzeichnisses von der Datenintegrität ausgeschlossen. |
Beispiele
Das folgende Beispiel zeigt, wie Sie die Attribute für eine Datei abrufen und überprüfen, ob die Datei schreibgeschützt ist.
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
Hinweise
Sie können Attribute für Dateien und Verzeichnisse abrufen, indem Sie die File.GetAttributes Methode aufrufen, und Sie können sie festlegen, indem Sie die File.SetAttributes Methode aufrufen.
Es ist nicht möglich, den Komprimierungsstatus eines File Objekts mithilfe der File.SetAttributes Methode zu ändern. Stattdessen müssen Sie die Datei tatsächlich mit einem Komprimierungstool oder einer der Klassen im System.IO.Compression Namespace komprimieren.
Die folgenden Attribute werden von .NET Core unter Linux und macOS nicht unterstützt:
- FileAttributes.Archive
- FileAttributes.Compressed
- FileAttributes.Device
- FileAttributes.Encrypted
- FileAttributes.IntegrityStream
- FileAttributes.NoScrubData
- FileAttributes.NotContentIndexed
- FileAttributes.Offline
- FileAttributes.SparseFile
- FileAttributes.System
- FileAttributes.Temporary
Auf Unix-Systemen enthält Hidden der wert, der von File.GetAttributes einer Datei zurückgegeben wird, deren Name mit einem Punkt (".") beginnt. Unter macOS können Sie das ausgeblendete Flag abrufen oder festlegen.