Win32_Directory クラス

Win32_DirectoryWMI クラスは、Windowsを実行しているコンピューター システム上のディレクトリ エントリを表します。 ディレクトリは、データ ファイルを論理的にグループ化し、グループ化されたファイルのパス情報を提供するファイルの一種です。 例: C:\TEMP。 Win32_Directory には、ネットワーク ドライブのディレクトリは含まれません。

次の構文はマネージド オブジェクト フォーマット (MOF) のコードを単純化したもので、すべての継承されたプロパティを含みます。 プロパティは、MOF の順序ではなく、アルファベット順で一覧表示されます。

構文

[Dynamic, Provider("CIMWin32"), UUID("{8502C4C7-5FBB-11D2-AAC1-006008C78BC7}"), AMENDMENT]
class Win32_Directory : CIM_Directory
{
  string   Caption;
  string   Description;
  datetime InstallDate;
  string   Name;
  string   Status;
  uint32   AccessMask;
  boolean  Archive;
  boolean  Compressed;
  string   CompressionMethod;
  string   CreationClassName;
  datetime CreationDate;
  string   CSCreationClassName;
  string   CSName;
  string   Drive;
  string   EightDotThreeFileName;
  boolean  Encrypted;
  string   EncryptionMethod;
  string   Extension;
  string   FileName;
  uint64   FileSize;
  string   FileType;
  string   FSCreationClassName;
  string   FSName;
  boolean  Hidden;
  uint64   InUseCount;
  datetime LastAccessed;
  datetime LastModified;
  string   Path;
  boolean  Readable;
  boolean  System;
  boolean  Writeable;
};

メンバー

Win32_Directory クラスには、次の種類のメンバーがあります。

メソッド

Win32_Directory クラスには、これらのメソッドがあります。

メソッド 説明
ChangeSecurityPermissions オブジェクト パスで指定された論理ファイルのセキュリティアクセス許可を変更するクラス メソッド。
ChangeSecurityPermissionsEx オブジェクト パスで指定された論理ファイルのセキュリティアクセス許可を変更するクラス メソッド。
圧縮 オブジェクト パスに指定された論理ファイル (またはディレクトリ) を圧縮するクラス メソッド。
CompressEx オブジェクト パスに指定された論理ファイル (またはディレクトリ) を圧縮するクラス メソッド。
コピー オブジェクト パスで指定された論理ファイルまたはディレクトリを、入力パラメーターで指定された場所にコピーするクラス メソッド。
CopyEx オブジェクト パスに指定された論理ファイルまたはディレクトリを FileName パラメーターで指定された場所にコピーするクラス メソッド。
削除 オブジェクト パスで指定された論理ファイル (またはディレクトリ) を削除するクラス メソッド。
DeleteEx オブジェクト パスで指定された論理ファイル (またはディレクトリ) を削除するクラス メソッド。
GetEffectivePermission 呼び出し元が、ファイル オブジェクトだけでなく、ファイルまたはディレクトリが存在する共有 (共有上にある場合) に Permissions 引数で指定された集約されたアクセス許可を持っているかどうかを決定するクラス メソッド。
[名前の変更] オブジェクト パスで指定された論理ファイル (またはディレクトリ) の名前を変更するクラス メソッド。
TakeOwnerShip オブジェクト パスで指定された論理ファイルの所有権を取得するクラス メソッド。
TakeOwnerShipEx オブジェクト パスで指定された論理ファイルの所有権を取得するクラス メソッド。
解凍 オブジェクト パスで指定された論理ファイル (またはディレクトリ) を圧縮解除するクラス メソッド。
非圧縮Ex オブジェクト パスで指定された論理ファイル (またはディレクトリ) を圧縮解除するクラス メソッド。

プロパティ

Win32_Directory クラスには、これらのプロパティがあります。

AccessMask

データ型: uint32

アクセスの種類: 読み取り専用

修飾子: スキーマ ("Win32")、 DisplayName ("Access Rights")

ディレクトリに対する特定の操作にアクセスまたは実行するために必要なアクセス権を表すビットマスク。 ビット値については、「 ファイルおよびディレクトリ アクセス権限定数」を参照してください。

Note

FAT ボリュームでは、代わりに FULL_ACCESS 値が返されます。これは、オブジェクトに対してセキュリティが設定されていないことを示します。

このプロパティは、 CIM_LogicalFileから継承されます。

FILE_READ_DATA (ファイル) またはFILE_LIST_DIRECTORY (ディレクトリ) (1)

ファイルからデータを読み取る権限を付与します。 ディレクトリの場合、この値はディレクトリの内容を一覧表示する権限を付与します。

FILE_WRITE_DATA (ファイル) またはFILE_ADD_FILE (ディレクトリ) (2)

ファイルにデータを書き込む権限を付与します。 ディレクトリの場合、この値はディレクトリにファイルを作成する権限を付与します。

FILE_APPEND_DATA (ファイル) またはFILE_ADD_SUBDIRECTORY (4)

ファイルにデータを追加する権限を付与します。 ディレクトリの場合、この値はサブディレクトリを作成する権限を付与します。

FILE_READ_EA (8)

拡張属性を読み取る権限を付与します。

FILE_WRITE_EA (16)

拡張属性を書き込む権限を付与します。

FILE_EXECUTE (ファイル) または FILE_TRAVERSE (ディレクトリ) (32)

ファイルを実行する権限を付与します。 ディレクトリの場合は、ディレクトリを走査できます。

FILE_DELETE_CHILD (ディレクトリ) (64)

ファイルが読み取り専用であっても、ディレクトリとそのディレクトリに含まれるすべてのファイル (その子) を削除する権限を付与します。

FILE_READ_ATTRIBUTES (128)

ファイル属性を読み取る権限を付与します。

FILE_WRITE_ATTRIBUTES (256)

ファイル属性を変更する権限を付与します。

DELETE (65536)

削除アクセス権を付与します。

READ_CONTROL (131072)

セキュリティ記述子と所有者への読み取りアクセスを許可します。

WRITE_DAC (262144)

随意 ACL への書き込みアクセス権を付与します。

WRITE_OWNER (524288)

書き込み所有者を割り当てます。

SYNCHRONIZE (1048576)

アクセスを同期し、オブジェクトがシグナル状態になるまでプロセスが待機できるようにします。

ACCESS_SYSTEM_SECURITY (18809343)

オブジェクトのセキュリティ記述子で SACL を取得または設定する機能を制御します。

Archive

データ型: ブール値

アクセスの種類: 読み取り専用

修飾子: スキーマ ("Win32")、 DisplayName ("Should be Archived")

フォルダーのアーカイブ ビットが設定されているかどうかを示します。 アーカイブ ビットは、バックアップ する必要があるファイルを識別するためにバックアップ プログラムによって使用されます。 True の場合は、ファイルをアーカイブする必要があります。

このプロパティは、 CIM_LogicalFileから継承されます。

Caption

データ型: 文字列

アクセスの種類: 読み取り専用

修飾子: MaxLen (64)、 DisplayName ("Caption")

オブジェクトの短いテキストの説明。

このプロパティは、 CIM_ManagedSystemElementから継承されます。

Compressed

データ型: ブール値

アクセスの種類: 読み取り専用

修飾子: スキーマ ("Win32")、 DisplayName ("Compressed")

フォルダーが圧縮されているかどうかを示します。 WMI は、WMI 自体またはグラフィカル ユーザー インターフェイスを使用して圧縮されたフォルダーを認識します。ただし、.ZIPファイルは圧縮されていると認識されません。 True の場合、ファイルは圧縮されます。

このプロパティは、 CIM_LogicalFileから継承されます。

CompressionMethod

データ型: 文字列

アクセスの種類: 読み取り専用

修飾子: DisplayName ("Compression Method")

論理ファイルを圧縮するために使用されるアルゴリズムまたはツール (通常はメソッド)。 圧縮スキームを記述できない (または望ましくない) 場合は、次の単語を使用します。"Unknown" は、論理ファイルが圧縮されているかどうかが不明であることを表します。ファイルが圧縮されていることを表すが、その圧縮スキームが不明であるか開示されていないことを表す「圧縮」。論理ファイルが圧縮されていないことを表す "Not Compressed" と "Not Compressed" です。

このプロパティは、 CIM_LogicalFileから継承されます。

CreationClassName

データ型: 文字列

アクセスの種類: 読み取り専用

修飾子: CIM_KeyDisplayName ("クラス名")

インスタンスの作成で使用される継承チェーンに表示される最初の具象クラスの名前。 クラスの他のキー プロパティと共に使用する場合、このプロパティを使用すると、このクラスとそのサブクラスのすべてのインスタンスを一意に識別できます。

このプロパティは、 CIM_LogicalFileから継承されます。

CreationDate

データ型: datetime

アクセスの種類: 読み取り専用

修飾子: DisplayName ("Creation Date")

ファイル システム オブジェクトが作成された日付。 WMI の日付と時刻の形式の操作の詳細については、「 WMI タスク: 日付と時刻」を参照してください。

このプロパティは、 CIM_LogicalFileから継承されます。

CSCreationClassName

データ型: 文字列

アクセスの種類: 読み取り専用

修飾子: 伝達 ( "CIM_FileSystemCSCreationClassName")、 CIM_KeyDisplayName ("コンピューター システム クラス名")

スコープ コンピューター システムの作成クラス名。

このプロパティは、 CIM_LogicalFileから継承されます。

CSName

データ型: 文字列

アクセスの種類: 読み取り専用

修飾子: 伝達 ( "CIM_FileSystemCSName")、 CIM_KeyDisplayName ("コンピューター システム名")

ファイル システム オブジェクトが格納されているコンピューターの名前。

このプロパティは、 CIM_LogicalFileから継承されます。

説明

データ型: 文字列

アクセスの種類: 読み取り専用

修飾子: DisplayName ("Description")

オブジェクトのテキストの説明。

このプロパティは、 CIM_ManagedSystemElementから継承されます。

ドライブ

データ型: 文字列

アクセスの種類: 読み取り専用

修飾子: 修正済みスキーマ ("Win32")、 DisplayName ("Drive")

ファイル システム オブジェクトが格納されているドライブのドライブ文字 (コロンを含む)。

例: "c:"

このプロパティは、 CIM_LogicalFileから継承されます。

EightDotThreeFileName

データ型: 文字列

アクセスの種類: 読み取り専用

修飾子: スキーマ ("Win32")、 DisplayName ("8 ドット 3 ファイル名")

フォルダーの MS-DOS 互換の名前。

例: "c:\progra~1"

このプロパティは、 CIM_LogicalFileから継承されます。

Encrypted

データ型: ブール値

アクセスの種類: 読み取り専用

修飾子: スキーマ ("Win32")、 DisplayName ("Encrypted")

フォルダーが暗号化されているかどうかを示します。 True の場合、フォルダーは暗号化されます。

このプロパティは、 CIM_LogicalFileから継承されます。

EncryptionMethod

データ型: 文字列

アクセスの種類: 読み取り専用

修飾子: DisplayName ("暗号化方法")

論理ファイルの暗号化に使用されるアルゴリズムまたはツール。 暗号化スキームを記述できない (または望ましくない) 場合は(おそらくセキュリティ上の理由から)、次の単語を使用します。"Unknown" は、論理ファイルが暗号化されているかどうかが不明であることを表します。ファイルが暗号化されていることを表すが、その暗号化スキームが不明であるか、または開示されていないことを表す 「Encrypted」。論理ファイルが暗号化されていないことを表す "Not Encrypted" と "Not Encrypted" です。

このプロパティは、 CIM_LogicalFileから継承されます。

拡張子

データ型: 文字列

アクセスの種類: 読み取り専用

修飾子: 修正済みスキーマ ("Win32")、 DisplayName ("ファイル拡張子")

ファイル システム オブジェクトのファイル名拡張子。拡張子とファイル名を区切るドット (.) は含まれません。

例: "txt"、"mof"、"mdb"

このプロパティは、 CIM_LogicalFileから継承されます。

FileName

データ型: 文字列

アクセスの種類: 読み取り専用

修飾子: 修正済みスキーマ ("Win32")、 DisplayName ("ファイル名")

ファイルのファイル名 (ドットまたは拡張子なし)。

例: "autoexec"

このプロパティは、 CIM_LogicalFileから継承されます。

FileSize

データ型: uint64

アクセスの種類: 読み取り専用

修飾子: DisplayName ("Size")、 Units ("bytes")

ファイル システム オブジェクトのサイズ (バイト単位)。 フォルダーには FileSize プロパティがありますが、値 0 は常に返されます。 フォルダーのサイズを確認するには、FileSystemObject を使用するか、フォルダーに格納されているすべてのファイルのサイズを加算します。

スクリプトで uint64 値を使用する方法の詳細については、「 WMI でのスクリプト作成」を参照してください。

このプロパティは、 CIM_LogicalFileから継承されます。

FileType

データ型: 文字列

アクセスの種類: 読み取り専用

修飾子: スキーマ ("Win32")、 DisplayName ("File Type")

ファイルの種類 ( Extension プロパティによって示されます)。

たとえば、.mdb ファイルのファイルの種類は Microsoft Access Application である可能性があります。 .asp ファイルのファイルの種類は HTML ドキュメントである可能性があります。 通常、フォルダーは単にフォルダーとして報告されます。

このプロパティは、 CIM_LogicalFileから継承されます。

FSCreationClassName

データ型: 文字列

アクセスの種類: 読み取り専用

修飾子: 伝達 ( "CIM_FileSystemCreationClassName")、 CIM_KeyDisplayName ("ファイル システム クラス名")

ファイル システムのクラス。

このプロパティは、 CIM_LogicalFileから継承されます。

FSName

データ型: 文字列

アクセスの種類: 読み取り専用

修飾子: 伝達 ( "CIM_FileSystem名前")、 CIM_KeyDisplayName ("ファイル システム名")

ファイルまたはフォルダーがあるドライブにインストールされているファイル システム (NTFS、FAT、FAT32) の種類。

このプロパティは、 CIM_LogicalFileから継承されます。

[非表示]

データ型: ブール値

アクセスの種類: 読み取り専用

修飾子: スキーマ ("Win32")、 DisplayName ("Hidden")

ファイル システム オブジェクトが非表示かどうかを示します。 True の場合、ファイルは非表示になります。

このプロパティは、 CIM_LogicalFileから継承されます。

InstallDate

データ型: datetime

アクセスの種類: 読み取り専用

修飾子: MappingStrings ("MIF.DMTF|ComponentID|001.5")、 DisplayName ("インストール日")

オブジェクトがインストールされたタイミングを示します。 値がない場合、オブジェクトがインストールされていないことを示すわけではありません。

このプロパティは、 CIM_ManagedSystemElementから継承されます。

InUseCount

データ型: uint64

アクセスの種類: 読み取り専用

修飾子: DisplayName ("Current File Open Count")

ファイルに対して現在アクティブな "ファイルが開く" の数。

このプロパティは、 CIM_LogicalFileから継承されます。

スクリプトで uint64 値を使用する方法の詳細については、「 WMI でのスクリプト作成」を参照してください。

LastAccessed

データ型: datetime

アクセスの種類: 読み取り専用

修飾子: DisplayName ("Last Accessed")

ファイルが最後にアクセスされた日付。 WMI の日付と時刻の形式の操作の詳細については、「 WMI タスク: 日付と時刻」を参照してください。

このプロパティは、 CIM_LogicalFileから継承されます。

Lastmodified

データ型: datetime

アクセスの種類: 読み取り専用

修飾子: DisplayName ("最終更新日時")

ファイルが最後に変更された日付。 WMI の日付と時刻の形式の操作の詳細については、「 WMI タスク: 日付と時刻」を参照してください。

このプロパティは、 CIM_LogicalFileから継承されます。

名前

データ型: 文字列

アクセスの種類: 読み取り専用

修飾子: キー

Name プロパティは、ファイル システム内の論理ファイル インスタンスのキーとして機能する継承された名前を表す文字列です。 完全なパス名を指定する必要があります。 例: C:\Windows\system\win.ini

このプロパティは、 CIM_LogicalFileから継承されます。

パス

データ型: 文字列

アクセスの種類: 読み取り専用

修飾子: 修正済みスキーマ ("Win32")、 DisplayName ("Path")

ファイルのパス。 パスには先頭と末尾の円記号が含まれますが、ドライブ文字やフォルダー名は含まれません。

フォルダー c:\windows\system32\wbem の場合、パスは \windows\system32\ です。 フォルダー c:\scripts の場合、パスは \です。

このプロパティは、 CIM_LogicalFileから継承されます。

読み取り可能

データ型: ブール値

アクセスの種類: 読み取り専用

修飾子: DisplayName ("読み取り可能")

フォルダー内のアイテムを読み取ることができるかどうかを示します。 True の場合、ファイルを読み取ることができます。

このプロパティは、 CIM_LogicalFileから継承されます。

状態

データ型: 文字列

アクセスの種類: 読み取り専用

修飾子: MaxLen (10)、 DisplayName ("Status")

オブジェクトの現在の状態を示す文字列。

このプロパティは、 CIM_ManagedSystemElementから継承されます。

次の値があります。

OK ("OK")

エラー ("Error")

機能低下 ("機能低下")

不明 ("不明")

Pred Fail ("Pred Fail")

開始 ("開始中")

停止 中 ("停止中")

サービス ("Service")

ストレス ( "ストレス")

NonRecover ("NonRecover")

連絡先なし ("連絡先なし")

Lost Comm ("Lost Comm")

システム

データ型: ブール値

アクセスの種類: 読み取り専用

修飾子: スキーマ ("Win32")、 DisplayName ("System File")

オブジェクトがシステム ファイルであるかどうかを示します。 True の場合、ファイルはシステム ファイルです

このプロパティは、 CIM_LogicalFileから継承されます。

書き込み可能

データ型: ブール値

アクセスの種類: 読み取り専用

修飾子: DisplayName ("Writeable")

True の場合、ファイルを書き込むことができます。

このプロパティは、 CIM_LogicalFileから継承されます。

注釈

Win32_Directory クラスは、CIM_Directoryから派生します。

概要

フォルダーは、他のファイル システム オブジェクトを格納するように設計されたファイル システム オブジェクトです。 ただし、これはすべてのフォルダーが似ているという意味ではありません。 代わりに、フォルダーは大きく異なる場合があります。 一部のフォルダーはオペレーティング システム フォルダーであり、通常はスクリプトで変更しないでください。 一部のフォルダーは読み取り専用です。つまり、ユーザーはそのフォルダーの内容にアクセスできますが、それらの内容の追加、削除、変更はできません。 一部のフォルダーは最適なストレージ用に圧縮されますが、他のフォルダーは非表示になり、ユーザーには表示されません。

WMI では、 Win32_Directory クラスを使用してフォルダーを管理します。 重要なことに、このクラスで使用できるプロパティとメソッドは、ファイルの管理に使用されるクラス である CIM_DataFile クラスで使用できるプロパティとメソッドと同じです。 つまり、WMI を使用してフォルダーを管理する方法を学習した後、余分な作業を行わずに、ファイルを管理する方法も知ることになります。

Win32_Subdirectory関連付けクラスは、ファイルとフォルダーの管理にも使用されます。 Win32_Subdirectory クラスは、フォルダーとその即時サブフォルダーを関連付けます。 たとえば、フォルダー構造 C:\Scripts\Logs では、ログはスクリプトのサブフォルダーであり、スクリプトはルート フォルダー C:\ のサブフォルダーです。 ただし、ログは C:\ のサブフォルダーとは見なされません。

Win32_Directory クラスを使用して、ファイル システム内の任意のフォルダーのプロパティを取得できます。 このクラスを使用して使用できるプロパティを表 11.1 に示します。 1 つのフォルダーのプロパティを取得するには、Win32_Directory クラスの Windows クエリ言語 (WQL) クエリを作成し、フォルダーの名前を含めるようにします。 たとえば、このクエリは D:\Archive フォルダーにバインドされます。

Copy "SELECT * FROM Win32_Directory WHERE Name = 'D:\\Archive'"

WQL クエリでファイル名またはフォルダー名を指定する場合は、パス コンポーネントを区切るために 2 つの円記号 (\\) を使用してください。

データ取得を 1 つのディスク ドライブに制限する場合は、ドライブ文字を指定する Where 句を含めます。 たとえば、このクエリでは、ドライブ C 上のすべてのフォルダーの一覧が返されます。

"SELECT * FROM Win32_Directory WHERE Drive = 'C:'"

コンピューター上のすべてのフォルダーを列挙する必要がある場合は、このクエリの完了に時間がかかる可能性があることに注意してください。

次の VBScript サンプルでは、C:\Scripts フォルダーのプロパティを取得します。

strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFolders = objWMIService.ExecQuery("SELECT * FROM Win32_Directory WHERE Name = 'c:\\Scripts'")
For Each objFolder in colFolders
 Wscript.Echo "Archive: " & objFolder.Archive
 Wscript.Echo "Caption: " & objFolder.Caption
 Wscript.Echo "Compressed: " & objFolder.Compressed
 Wscript.Echo "Compression method: " & objFolder.CompressionMethod
 Wscript.Echo "Creation date: " & objFolder.CreationDate
 Wscript.Echo "Encrypted: " & objFolder.Encrypted
 Wscript.Echo "Encryption method: " & objFolder.EncryptionMethod
 Wscript.Echo "Hidden: " & objFolder.Hidden
 Wscript.Echo "In use count: " & objFolder.InUseCount
 Wscript.Echo "Last accessed: " & objFolder.LastAccessed
 Wscript.Echo "Last modified: " & objFolder.LastModified
 Wscript.Echo "Name: " & objFolder.Name
 Wscript.Echo "Path: " & objFolder.Path
 Wscript.Echo "Readable: " & objFolder.Readable
 Wscript.Echo "System: " & objFolder.System
 Wscript.Echo "Writeable: " & objFolder.Writeable
Next

次の VBScript サンプルは、コンピューター上のすべての非表示フォルダーの一覧を返します。

strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFiles = objWMIService.ExecQuery("SELECT * FROM Win32_Directory WHERE Hidden = True")
For Each objFile in colFiles
 Wscript.Echo objFile.Name
Next

要件

要件
サポートされている最小のクライアント
Windows Vista
サポートされている最小のサーバー
Windows Server 2008
名前空間
Root\CIMV2
MOF
CIMWin32.mof
[DLL]
CIMWin32.dll

こちらもご覧ください

CIM_Directory

オペレーティング システム クラス