FileAttributes FileAttributes FileAttributes FileAttributes Enum

Definition

Provides attributes for files and directories.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

public enum class FileAttributes
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
public enum FileAttributes
type FileAttributes = 
Public Enum FileAttributes
Inheritance
FileAttributesFileAttributesFileAttributesFileAttributes
Attributes

Fields

Archive Archive Archive Archive 32

The file is a candidate for backup or removal.

Compressed Compressed Compressed Compressed 2048

The file is compressed.

Device Device Device Device 64

Reserved for future use.

Directory Directory Directory Directory 16

The file is a directory.

Encrypted Encrypted Encrypted Encrypted 16384

The file or directory is encrypted. For a file, this means that all data in the file is encrypted. For a directory, this means that encryption is the default for newly created files and directories.

Hidden Hidden Hidden Hidden 2

The file is hidden, and thus is not included in an ordinary directory listing.

IntegrityStream IntegrityStream IntegrityStream IntegrityStream 32768

The file or directory includes data integrity support. When this value is applied to a file, all data streams in the file have integrity support. When this value is applied to a directory, all new files and subdirectories within that directory, by default, include integrity support.

Normal Normal Normal Normal 128

The file is a standard file that has no special attributes. This attribute is valid only if it is used alone.

NoScrubData NoScrubData NoScrubData NoScrubData 131072

The file or directory is excluded from the data integrity scan. When this value is applied to a directory, by default, all new files and subdirectories within that directory are excluded from data integrity.

NotContentIndexed NotContentIndexed NotContentIndexed NotContentIndexed 8192

The file will not be indexed by the operating system's content indexing service.

Offline Offline Offline Offline 4096

The file is offline. The data of the file is not immediately available.

ReadOnly ReadOnly ReadOnly ReadOnly 1

The file is read-only.

ReparsePoint ReparsePoint ReparsePoint ReparsePoint 1024

The file contains a reparse point, which is a block of user-defined data associated with a file or a directory.

SparseFile SparseFile SparseFile SparseFile 512

The file is a sparse file. Sparse files are typically large files whose data consists of mostly zeros.

System System System System 4

The file is a system file. That is, the file is part of the operating system or is used exclusively by the operating system.

Temporary Temporary Temporary Temporary 256

The file is temporary. A temporary file contains data that is needed while an application is executing but is not needed after the application is finished. File systems try to keep all the data in memory for quicker access rather than flushing the data back to mass storage. A temporary file should be deleted by the application as soon as it is no longer needed.

Examples

The following example shows how to retrieve the attributes for a file and check if the file is read-only.

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");
            }
        }
    }
}
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

Remarks

You can get attributes for files and directories by calling the GetAttributes method, and you can set them by calling the SetAttributes method.

It is not possible to change the compression status of a File object by using the SetAttributes method. Instead, you must actually compress the file using either a compression tool or one of the classes in the System.IO.Compression namespace.

Applies to

See Also