FileAttributes 列挙型

定義

ファイルとディレクトリの属性を提供します。

この列挙体は、メンバー値のビットごとの組み合わせをサポートしています。

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
継承
FileAttributes
属性

フィールド

名前 説明
ReadOnly 1

ファイルは読み取り専用です。 ReadOnly は、Windows、Linux、および macOS でサポートされています。 Linux および macOS では、 ReadOnly フラグの変更はアクセス許可操作です。

Hidden 2

ファイルは非表示であるため、通常のディレクトリ 一覧には含まれません。 Hidden は、Windows、Linux、および macOS でサポートされています。

System 4

ファイルはシステム ファイルです。 つまり、ファイルはオペレーティング システムの一部であるか、オペレーティング システムによってのみ使用されます。

Directory 16

ファイルはディレクトリです。 Directory は、Windows、Linux、および macOS でサポートされています。

Archive 32

このファイルは、増分バックアップ操作に含まれるとマークされます。 Windowsは、ファイルが変更されるたびにこの属性を設定します。バックアップ ソフトウェアは、増分バックアップ中にファイルを処理するときに、この属性をクリアする必要があります。

Device 64

将来の使用のために予約済み。

Normal 128

このファイルは、特別な属性を持たない標準ファイルです。 この属性は、単独で使用される場合にのみ有効です。 Normal は、Windows、Linux、および macOS でサポートされています。

Temporary 256

ファイルは一時的なものです。 一時ファイルには、アプリケーションの実行中に必要なデータが含まれていますが、アプリケーションの完了後は必要ありません。 ファイル システムでは、大量ストレージにデータをフラッシュするのではなく、すべてのデータをメモリ内に保持して、アクセスを高速化しようとします。 一時ファイルは、不要になったらすぐにアプリケーションによって削除する必要があります。

SparseFile 512

ファイルはスパース ファイルです。 スパース ファイルは通常、データがほぼゼロで構成される大きなファイルです。

ReparsePoint 1024

ファイルには再解析ポイントが含まれています。これは、ファイルまたはディレクトリに関連付けられているユーザー定義データのブロックです。 ReparsePoint は、Windows、Linux、および macOS でサポートされています。

Compressed 2048

ファイルは圧縮されます。

Offline 4096

ファイルはオフラインです。 ファイルのデータはすぐには使用できません。

NotContentIndexed 8192

ファイルは、オペレーティング システムのコンテンツ インデックス作成サービスによってインデックスが作成されません。

Encrypted 16384

ファイルまたはディレクトリは暗号化されます。 ファイルの場合、これはファイル内のすべてのデータが暗号化されることを意味します。 ディレクトリの場合は、暗号化が新しく作成されたファイルとディレクトリの既定値であることを意味します。

IntegrityStream 32768

ファイルまたはディレクトリには、データ整合性のサポートが含まれています。 この値をファイルに適用すると、ファイル内のすべてのデータ ストリームで整合性がサポートされます。 この値をディレクトリに適用すると、既定では、そのディレクトリ内のすべての新しいファイルとサブディレクトリに整合性のサポートが含まれます。

NoScrubData 131072

ファイルまたはディレクトリは、データ整合性スキャンから除外されます。 この値をディレクトリに適用すると、既定では、そのディレクトリ内のすべての新しいファイルとサブディレクトリがデータ整合性から除外されます。

次の例は、ファイルの属性を取得し、ファイルが読み取り専用かどうかを確認する方法を示しています。

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

注釈

File.GetAttributes メソッドを呼び出すことでファイルとディレクトリの属性を取得できます。また、File.SetAttributes メソッドを呼び出して設定することもできます。

File.SetAttributes メソッドを使用して、File オブジェクトの圧縮状態を変更することはできません。 代わりに、圧縮ツールまたは System.IO.Compression 名前空間のいずれかのクラスを使用して、ファイルを実際に圧縮する必要があります。

Linux および macOS 上の .NET Core では、次の属性はサポートされていません。

Unix システムでは、 File.GetAttributes によって返される値には、名前がピリオド (".") で始まるファイルの Hidden が含まれます。 macOS では、非表示フラグを取得または設定できます。

適用対象

こちらもご覧ください