FileAttributes Výčet
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje atributy pro soubory a adresáře.
Tento výčet podporuje bitové kombinace hodnot jeho členů.
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
- Dědičnost
- Atributy
Pole
| Name | Hodnota | Description |
|---|---|---|
| ReadOnly | 1 | Soubor je jen pro čtení.
|
| 2 | Soubor je skrytý, a proto není zahrnut do běžného seznamu adresářů.
|
|
| System | 4 | Soubor je systémový soubor. To znamená, že soubor je součástí operačního systému nebo je používán výhradně operačním systémem. |
| Directory | 16 | Soubor je adresář.
|
| Archive | 32 | Tento soubor je označen jako zahrnutý do operace přírůstkového zálohování. Windows nastaví tento atribut při každé změně souboru a zálohovací software by ho měl při zpracování souboru během přírůstkového zálohování vymazat. |
| Device | 64 | Vyhrazeno pro budoucí použití. |
| Normal | 128 | Soubor je standardní soubor, který nemá žádné speciální atributy. Tento atribut je platný pouze v případě, že se používá samostatně.
|
| Temporary | 256 | Soubor je dočasný. Dočasný soubor obsahuje data potřebná při provádění aplikace, ale není potřeba po dokončení aplikace. Systémy souborů se snaží zachovat všechna data v paměti, aby byl rychlejší přístup než vyprázdnění dat zpět do velkokapacitní úložiště. Aplikace by měla odstranit dočasný soubor, jakmile už ho nepotřebujete. |
| SparseFile | 512 | Soubor je zhuštěný soubor. Řídké soubory jsou obvykle velké soubory, jejichž data se skládají z převážně nuly. |
| ReparsePoint | 1024 | Soubor obsahuje spojovací bod, což je blok uživatelem definovaných dat přidružených k souboru nebo adresáři.
|
| Compressed | 2048 | Soubor je komprimovaný. |
| Offline | 4096 | Soubor je offline. Data souboru nejsou okamžitě dostupná. |
| NotContentIndexed | 8192 | Soubor nebude indexován službou indexování obsahu operačního systému. |
| Encrypted | 16384 | Soubor nebo adresář jsou zašifrované. U souboru to znamená, že všechna data v souboru jsou zašifrovaná. U adresáře to znamená, že šifrování je výchozím nastavením pro nově vytvořené soubory a adresáře. |
| IntegrityStream | 32768 | Soubor nebo adresář zahrnuje podporu integrity dat. Při použití této hodnoty u souboru mají všechny datové proudy v souboru podporu integrity. Pokud se tato hodnota použije v adresáři, všechny nové soubory a podadresáře v tomto adresáři ve výchozím nastavení zahrnují podporu integrity. |
| NoScrubData | 131072 | Soubor nebo adresář jsou vyloučeny z kontroly integrity dat. Pokud se tato hodnota použije v adresáři, ve výchozím nastavení jsou všechny nové soubory a podadresáře v tomto adresáři vyloučeny z integrity dat. |
Příklady
Následující příklad ukazuje, jak načíst atributy souboru a zkontrolovat, jestli je soubor jen pro čtení.
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
Poznámky
Atributy pro soubory a adresáře můžete získat voláním File.GetAttributes metody a můžete je nastavit voláním File.SetAttributes metody.
Pomocí metody není možné změnit stav File komprese objektu File.SetAttributes . Místo toho je nutné komprimovat soubor pomocí nástroje komprese nebo jedné z tříd v System.IO.Compression oboru názvů.
.NET Core v Linuxu a macOS nepodporují následující atributy:
- FileAttributes.Archive
- FileAttributes.Compressed
- FileAttributes.Device
- FileAttributes.Encrypted
- FileAttributes.IntegrityStream
- FileAttributes.NoScrubData
- FileAttributes.NotContentIndexed
- FileAttributes.Offline
- FileAttributes.SparseFile
- FileAttributes.System
- FileAttributes.Temporary
V systémech Unix je hodnota vrácená zahrnutím File.GetAttributesHidden souboru, jehož název začíná tečkou ("."). V systému macOS můžete získat nebo nastavit skrytý příznak.