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 | オブジェクト パスで指定された論理ファイルの所有権を取得するクラス メソッド。 |
解凍 | オブジェクト パスで指定された論理ファイル (またはディレクトリ) を圧縮解除するクラス メソッド。 |
CompressEx | オブジェクト パスで指定された論理ファイル (またはディレクトリ) を圧縮解除するクラス メソッド。 |
プロパティ
Win32_Directory クラスには、これらのプロパティがあります。
-
AccessMask
-
-
データ型: uint32
-
アクセスの種類: 読み取り専用
-
修飾子: スキーマ ("Win32")、 DisplayName ("Access Rights")
ディレクトリに対する特定の操作にアクセスまたは実行するために必要なアクセス権を表すビットマスク。 ビット値については、「 ファイルおよびディレクトリ アクセス権限定数」を参照してください。
注意
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
-
データ型: string
-
アクセスの種類: 読み取り専用
-
修飾子: MaxLen (64)、 DisplayName ("Caption")
オブジェクトの短いテキスト説明。
このプロパティは 、CIM_ManagedSystemElementから継承されます。
Compressed
-
データ型: boolean
-
アクセスの種類: 読み取り専用
-
修飾子: スキーマ ("Win32")、 DisplayName ("Compressed")
フォルダーが圧縮されているかどうかを示します。 WMI は、WMI 自体またはグラフィカル ユーザー インターフェイスを使用して圧縮されたフォルダーを認識します。ただし、.ZIPファイルは圧縮されていると認識されません。 True の場合、ファイルは圧縮されます。
このプロパティは、 CIM_LogicalFileから継承されます。
CompressionMethod
-
データ型: string
-
アクセスの種類: 読み取り専用
-
修飾子: DisplayName ("Compression Method")
論理ファイルを圧縮するために使用されるアルゴリズムまたはツール (通常はメソッド)。 圧縮スキームを記述できない (または望ましくない) 場合は、"Unknown" という単語を使用して、論理ファイルが圧縮されているかどうかが不明であることを表します。ファイルが圧縮されているが、その圧縮スキームが不明であるか、開示されていないことを表す "圧縮" 。論理ファイルが圧縮されていないことを表す "Not Compressed" です。
このプロパティは、 CIM_LogicalFileから継承されます。
CreationClassName
-
データ型: string
-
アクセスの種類: 読み取り専用
-
修飾子: CIM_Key、 DisplayName ("クラス名")
インスタンスの作成で使用される継承チェーンに表示される最初の具象クラスの名前。 クラスの他のキー プロパティと共に使用すると、このプロパティを使用すると、このクラスとそのサブクラスのすべてのインスタンスを一意に識別できます。
このプロパティは、 CIM_LogicalFileから継承されます。
CreationDate
-
データ型: datetime
-
アクセスの種類: 読み取り専用
-
修飾子: DisplayName ("作成日")
ファイル システム オブジェクトが作成された日付。 WMI の日付と時刻の形式の操作の詳細については、「 WMI タスク: 日付と時刻」を参照してください。
このプロパティは、 CIM_LogicalFileから継承されます。
CSCreationClassName
-
データ型: string
-
アクセスの種類: 読み取り専用
-
修飾子: 伝達 ( "CIM_FileSystem。CSCreationClassName")、 CIM_Key、 DisplayName ("コンピューター システム クラス名")
スコープ コンピューター システムの作成クラス名。
このプロパティは、 CIM_LogicalFileから継承されます。
CSName
-
データ型: string
-
アクセスの種類: 読み取り専用
-
修飾子: 伝達 ( "CIM_FileSystem。CSName")、 CIM_Key、 DisplayName ("コンピューター システム名")
ファイル システム オブジェクトが格納されているコンピューターの名前。
このプロパティは、 CIM_LogicalFileから継承されます。
説明
-
データ型: string
-
アクセスの種類: 読み取り専用
-
修飾子: DisplayName ("Description")
オブジェクトのテキスト説明。
このプロパティは 、CIM_ManagedSystemElementから継承されます。
ドライブ
-
データ型: string
-
アクセスの種類: 読み取り専用
-
修飾子: 修正済み、 スキーマ ("Win32")、 DisplayName ("Drive")
ファイル システム オブジェクトが格納されているドライブのドライブ文字 (コロンを含む)。
例: "c:"
このプロパティは、 CIM_LogicalFileから継承されます。
EightDotThreeFileName
-
データ型: string
-
アクセスの種類: 読み取り専用
-
修飾子: スキーマ ("Win32")、 DisplayName ("8 ドット 3 ファイル名")
フォルダーの MS-DOS 互換名。
例: "c:\progra~1"
このプロパティは、 CIM_LogicalFileから継承されます。
Encrypted
-
データ型: boolean
-
アクセスの種類: 読み取り専用
-
修飾子: スキーマ ("Win32")、 DisplayName ("Encrypted")
フォルダーが暗号化されているかどうかを示します。 True の場合、フォルダーは暗号化されます。
このプロパティは、 CIM_LogicalFileから継承されます。
EncryptionMethod
-
データ型: string
-
アクセスの種類: 読み取り専用
-
修飾子: DisplayName ("Encryption Method")
論理ファイルの暗号化に使用されるアルゴリズムまたはツール。 暗号化スキームを記述できない (または望ましくない) 場合は、"Unknown" という単語を使用して、論理ファイルが暗号化されているかどうかが不明であることを表します。ファイルが暗号化されているが、その暗号化スキームが不明であるか、開示されていないことを表す "Encrypted" 。論理ファイルが暗号化されていないことを表す "Not Encrypted" を指定します。
このプロパティは、 CIM_LogicalFileから継承されます。
拡張子
-
データ型: string
-
アクセスの種類: 読み取り専用
-
修飾子: 修正済み、 スキーマ ("Win32")、 DisplayName ("ファイル拡張子")
ファイル システム オブジェクトのファイル名拡張子。拡張子とファイル名を区切るドット (.) は含まれません。
例: "txt"、"mof"、"mdb"
このプロパティは、 CIM_LogicalFileから継承されます。
FileName
-
データ型: string
-
アクセスの種類: 読み取り専用
-
修飾子: 修正済み、 スキーマ ("Win32")、 DisplayName ("ファイル名")
ファイルのファイル名 (ドットまたは拡張子なし)。
例: "autoexec"
このプロパティは、 CIM_LogicalFileから継承されます。
FileSize
-
データ型: uint64
-
アクセスの種類: 読み取り専用
-
修飾子: DisplayName ("Size")、 Units ("bytes")
ファイル システム オブジェクトのサイズ (バイト単位)。 フォルダーには FileSize プロパティがありますが、値 0 は常に返されます。 フォルダーのサイズを確認するには、FileSystemObject を使用するか、フォルダーに格納されているすべてのファイルのサイズを加算します。
スクリプトでの uint64 値の使用の詳細については、「 WMI でのスクリプト作成」を参照してください。
このプロパティは、 CIM_LogicalFileから継承されます。
FileType
-
データ型: string
-
アクセスの種類: 読み取り専用
-
修飾子: スキーマ ("Win32")、 DisplayName ("File Type")
ファイルの種類 ( Extension プロパティで示されます)。
たとえば、.mdb ファイルのファイルの種類は Microsoft Access Application である可能性があります。 .asp ファイルのファイルの種類は HTML ドキュメントである可能性があります。 通常、フォルダーは単にフォルダーとして報告されます。
このプロパティは、 CIM_LogicalFileから継承されます。
FSCreationClassName
-
データ型: string
-
アクセスの種類: 読み取り専用
-
修飾子: 伝達 ( "CIM_FileSystem。CreationClassName")、 CIM_Key、 DisplayName ("File System Class Name")
ファイル システムのクラス。
このプロパティは、 CIM_LogicalFileから継承されます。
FSName
-
データ型: string
-
アクセスの種類: 読み取り専用
-
修飾子: 伝達 ( "CIM_FileSystem。Name")、 CIM_Key、 DisplayName ("File System Name")
ファイルまたはフォルダーが配置されているドライブにインストールされているファイル システムの種類 (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 ("Last Modified")
ファイルが最後に変更された日付。 WMI の日付と時刻の形式の操作の詳細については、「 WMI タスク: 日付と時刻」を参照してください。
このプロパティは、 CIM_LogicalFileから継承されます。
Name
-
データ型: string
-
アクセスの種類: 読み取り専用
-
修飾子: キー
Name プロパティは、ファイル システム内の論理ファイル インスタンスのキーとして機能する継承された名前を表す文字列です。 完全なパス名を指定する必要があります。 例: C:\Windows\system\win.ini
このプロパティは、 CIM_LogicalFileから継承されます。
パス
-
データ型: string
-
アクセスの種類: 読み取り専用
-
修飾子: 修正済み、 スキーマ ("Win32")、 DisplayName ("Path")
ファイルのパス。 パスには先頭と末尾の円記号が含まれますが、ドライブ文字やフォルダー名は含まれません。
フォルダー c:\windows\system32\wbem の場合、パスは \windows\system32\ です。 フォルダー c:\scripts の場合、パスは \です。
このプロパティは、 CIM_LogicalFileから継承されます。
読み やすい
-
データ型: ブール値
-
アクセスの種類: 読み取り専用
-
修飾子: DisplayName ("Readable")
フォルダー内のアイテムを読み取ることができるかどうかを示します。 True の場合、ファイルを読み取ることができます。
このプロパティは、 CIM_LogicalFileから継承されます。
状態
-
データ型: string
-
アクセスの種類: 読み取り専用
-
修飾子: MaxLen (10)、 DisplayName ("Status")
オブジェクトの現在の状態を示す文字列。
このプロパティは、 CIM_ManagedSystemElementから継承されます。
次の値があります。
OK ("OK")
エラー ("Error")
機能低下 ("Degraded")
不明 ("不明")
Pred Fail ("Pred Fail")
開始 ("開始")
停止中 ("停止中")
サービス ("Service")
ストレス ( "ストレス")
NonRecover ("NonRecover")
連絡先なし ("連絡先なし")
Lost Comm ("Lost Comm")
システム
-
データ型: boolean
-
アクセスの種類: 読み取り専用
-
修飾子: スキーマ ("Win32")、 DisplayName ("システム ファイル")
オブジェクトがシステム ファイルかどうかを示します。 True の場合、ファイルはシステム ファイルです
このプロパティは、 CIM_LogicalFileから継承されます。
書き込み可能
-
データ型: boolean
-
アクセスの種類: 読み取り専用
-
修飾子: DisplayName ("Writeable")
True の場合、ファイルを書き込むことができます。
このプロパティは、 CIM_LogicalFileから継承されます。
注釈
Win32_Directory クラスは、CIM_Directoryから派生します。
概要
フォルダーは、他のファイル システム オブジェクトを格納するように設計されたファイル システム オブジェクトです。 ただし、これはすべてのフォルダーが似ているという意味ではありません。 代わりに、フォルダーは大きく異なる場合があります。 一部のフォルダーはオペレーティング システム フォルダーであり、通常はスクリプトで変更しないでください。 一部のフォルダーは読み取り専用です。つまり、ユーザーはそのフォルダーの内容にアクセスできますが、それらの内容を追加、削除、または変更することはできません。 一部のフォルダーは最適なストレージ用に圧縮されますが、他のフォルダーは非表示になり、ユーザーには表示されません。
WMI では、 Win32_Directory クラスを使用してフォルダーを管理します。 重要なことに、このクラスで使用できるプロパティとメソッドは、ファイルの管理に使用されるクラス である CIM_DataFile クラスで使用できるプロパティとメソッドと同じです。 これは、WMI を使用してフォルダーを管理する方法を学習した後、余分な作業を行わずにファイルを管理する方法も知っていることを意味します。
Win32_Subdirectory関連付けクラスは、ファイルとフォルダーの管理にも使用されます。 Win32_Subdirectory クラスは、フォルダーとその直接のサブフォルダーを関連付けます。 たとえば、フォルダー構造 C:\Scripts\Logs では、Logs は Scripts のサブフォルダーであり、Scripts はルート フォルダー 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 |
|
[DLL] |
|