CIM_DataFile class

The CIM_DataFile class represents a named collection of data or executable code. Only instances of files on local fixed disks will be returned.

[!Important]
The DMTF (Distributed Management Task Force) CIM (Common Information Model) classes are the parent classes upon which WMI classes are built. WMI currently supports only the CIM 2.x version schemas.

The following syntax is simplified from Managed Object Format (MOF) code and includes all inherited properties. Properties are listed in alphabetic order, not MOF order.

Syntax

[Dynamic, Provider("CIMWin32"), UUID("{8502C55A-5FBB-11D2-AAC1-006008C78BC7}"), DisplayName("All Files (CIM)"), AMENDMENT]
class CIM_DataFile : CIM_LogicalFile
{
  string   Caption;
  string   Description;
  datetime InstallDate;
  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   Name;
  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;
  string   Manufacturer;
  string   Version;
};

Members

The CIM_DataFile class has these types of members:

Methods

The CIM_DataFile class has these methods.

Method Description
ChangeSecurityPermissions Changes the security permissions for the logical file specified in the object path. Implemented by WMI.
ChangeSecurityPermissionsEx Changes the security permissions for the logical file specified in the object path. Implemented by WMI.
Compress Uses NTFS compression to compress the logical file (or directory) specified in the object path. Implemented by WMI.
CompressEx Compresses the logical file (or directory) specified in the object path. Implemented by WMI.
Copy Copies the logical file (or directory) specified in the object path to the location specified by the input parameter. Implemented by WMI.
CopyEx Copies the logical file (or directory) specified in the object path to the location specified by the input parameter. Implemented by WMI.
Delete Deletes the logical file (or directory) specified in the object path. Implemented by WMI.
DeleteEx Deletes the logical file (or directory) specified in the object path. Implemented by WMI.
GetEffectivePermission Determines whether the caller has the aggregated permissions specified by the Permission argument. Implemented by WMI.
Rename Renames the logical file (or directory) specified in the object path. Implemented by WMI.
TakeOwnerShip Obtains ownership of the logical file specified in the object path. Implemented by WMI.
TakeOwnerShipEx Obtains ownership of the logical file specified in the object path. Implemented by WMI.
Uncompress Uncompresses the logical file (or directory) specified in the object path. Implemented by WMI.
UncompressEx Uncompresses the logical file (or directory) specified in the object path. Implemented by WMI.

Properties

The CIM_DataFile class has these properties.

AccessMask

Data type: uint32

Access type: Read-only

Qualifiers: Schema ("Win32"), DisplayName ("Access Rights")

Bitmask that represents the access rights required to access or perform specific operations on the file. For bit values, see File and Directory Access Rights Constants.

Note

On FAT volumes, the FULL_ACCESS value is returned instead, which indicates no security has been set on the object.

This property is inherited from CIM_LogicalFile.

FILE_READ_DATA (file) or FILE_LIST_DIRECTORY (directory) (1)

FILE_WRITE_DATA (file) or FILE_ADD_FILE (directory) (2)

FILE_APPEND_DATA (file) or FILE_ADD_SUBDIRECTORY (directory) (4)

FILE_READ_EA (8)

FILE_WRITE_EA (16)

FILE_EXECUTE (file) or FILE_TRAVERSE (directory) (32)

FILE_DELETE_CHILD (directory) (64)

FILE_READ_ATTRIBUTES (128)

FILE_WRITE_ATTRIBUTES (256)

DELETE (65536)

READ_CONTROL (131072)

WRITE_DAC (262144)

WRITE_OWNER (524288)

SYNCHRONIZE (1048576)

Archive

Data type: boolean

Access type: Read-only

Qualifiers: Schema ("Win32"), DisplayName ("Should Be Archived")

If True, the file should be archived.

This property is inherited from CIM_LogicalFile.

Caption

Data type: string

Access type: Read-only

Qualifiers: MaxLen (64), DisplayName ("Caption")

A short textual description of the object.

This property is inherited from CIM_ManagedSystemElement.

Compressed

Data type: boolean

Access type: Read-only

Qualifiers: Schema ("Win32"), DisplayName ("Compressed")

If True, the file is compressed.

This property is inherited from CIM_LogicalFile.

CompressionMethod

Data type: string

Access type: Read-only

Qualifiers: DisplayName ("Compression Method")

Free-form string that indicates the algorithm or tool used to compress the logical file. If the compression scheme is unknown or not described, use "Unknown". If the logical file is compressed, but the compression scheme is unknown or not described, use "Compressed". If the logical file is not compressed, use "Not Compressed".

This property is inherited from CIM_LogicalFile.

CreationClassName

Data type: string

Access type: Read-only

Qualifiers: CIM_Key, DisplayName ("Class Name")

Name of the class.

This property is inherited from CIM_LogicalFile.

CreationDate

Data type: datetime

Access type: Read-only

Qualifiers: DisplayName ("Creation Date")

Date and time of the file's creation.

This property is inherited from CIM_LogicalFile.

CSCreationClassName

Data type: string

Access type: Read-only

Qualifiers: Propagated ("CIM_FileSystem.CSCreationClassName"), CIM_Key, DisplayName ("Computer System Class Name")

Class of the computer system.

This property is inherited from CIM_LogicalFile.

CSName

Data type: string

Access type: Read-only

Qualifiers: Propagated ("CIM_FileSystem.CSName"), CIM_Key, DisplayName ("Computer System Name")

Name of the computer system.

This property is inherited from CIM_LogicalFile.

Description

Data type: string

Access type: Read-only

Qualifiers: DisplayName ("Description")

A textual description of the object.

This property is inherited from CIM_ManagedSystemElement.

Drive

Data type: string

Access type: Read-only

Qualifiers: Fixed, Schema ("Win32"), DisplayName ("Drive")

Drive letter (including the colon that follows the drive letter) of the file.

Example: "c:"

This property is inherited from CIM_LogicalFile.

EightDotThreeFileName

Data type: string

Access type: Read-only

Qualifiers: Schema ("Win32"), DisplayName ("Eight Dot Three File Name")

DOS-compatible file name.

Example: "c:\progra~1"

This property is inherited from CIM_LogicalFile.

Encrypted

Data type: boolean

Access type: Read-only

Qualifiers: Schema ("Win32"), DisplayName ("Encrypted")

If True, the file is encrypted.

This property is inherited from CIM_LogicalFile.

EncryptionMethod

Data type: string

Access type: Read-only

Qualifiers: DisplayName ("Encryption Method")

Free-form string that identifies the algorithm or tool used to encrypt a logical file. If the encryption scheme is not indulged (for security reasons, for example), use "Unknown". If the file is encrypted, but either its encryption scheme is unknown or not disclosed, use "Encrypted". If the logical file is not encrypted, use "Not Encrypted".

This property is inherited from CIM_LogicalFile.

Extension

Data type: string

Access type: Read-only

Qualifiers: Fixed, Schema ("Win32"), DisplayName ("File Extension")

File name extension without the preceding period (dot).

Example: "txt", "mof", "mdb"

This property is inherited from CIM_LogicalFile.

FileName

Data type: string

Access type: Read-only

Qualifiers: Fixed, Schema ("Win32"), DisplayName ("File Name")

File name without the file name extension. Example: "MyDataFile"

This property is inherited from CIM_LogicalFile.

FileSize

Data type: uint64

Access type: Read-only

Qualifiers: DisplayName ("Size"), Units ("bytes")

Size of the file, in bytes.

For more information about using uint64 values in scripts, see Scripting in WMI.

This property is inherited from CIM_LogicalFile.

FileType

Data type: string

Access type: Read-only

Qualifiers: Schema ("Win32"), DisplayName ("File Type")

Descriptor that represents the file type indicated by the Extension property.

This property is inherited from CIM_LogicalFile.

FSCreationClassName

Data type: string

Access type: Read-only

Qualifiers: Propagated ("CIM_FileSystem.CreationClassName"), CIM_Key, DisplayName ("File System Class Name")

Class of the file system.

This property is inherited from CIM_LogicalFile.

FSName

Data type: string

Access type: Read-only

Qualifiers: Propagated ("CIM_FileSystem.Name"), CIM_Key, DisplayName ("File System Name")

Name of the file system.

This property is inherited from CIM_LogicalFile.

Hidden

Data type: boolean

Access type: Read-only

Qualifiers: Schema ("Win32"), DisplayName ("Hidden")

If True, the file is hidden.

This property is inherited from CIM_LogicalFile.

InstallDate

Data type: datetime

Access type: Read-only

Qualifiers: MappingStrings ("MIF.DMTF|ComponentID|001.5"), DisplayName ("Install Date")

Indicates when the object was installed. Lack of a value does not indicate that the object is not installed.

This property is inherited from CIM_ManagedSystemElement.

InUseCount

Data type: uint64

Access type: Read-only

Qualifiers: DisplayName ("Current File Open Count")

Number of "file opens" that are currently active against the file.

For more information about using uint64 values in scripts, see Scripting in WMI.

This property is inherited from CIM_LogicalFile.

LastAccessed

Data type: datetime

Access type: Read-only

Qualifiers: DisplayName ("Last Accessed")

Date and time the file was last accessed.

This property is inherited from CIM_LogicalFile.

LastModified

Data type: datetime

Access type: Read-only

Qualifiers: DisplayName ("Last Modified")

Date and time the file was last modified.

This property is inherited from CIM_LogicalFile.

Manufacturer

Data type: string

Access type: Read-only

Qualifiers: Schema ("Win32"), DisplayName ("Manufacturer")

Manufacturer string from the version resource (if one is present).

Name

Data type: string

Access type: Read-only

Qualifiers: Key

The Name property is a string representing the inherited name that serves as a key of a logical file instance within a file system. Full path names should be provided.

Example: C:\Windows\system\win.ini

This property is inherited from CIM_LogicalFile.

Path

Data type: string

Access type: Read-only

Qualifiers: Fixed, Schema ("Win32"), DisplayName ("Path")

Path of the file including the leading and trailing backslashes. Example: "\windows\system\"

This property is inherited from CIM_LogicalFile.

Readable

Data type: boolean

Access type: Read-only

Qualifiers: DisplayName ("Readable")

If True, the file can be read.

This property is inherited from CIM_LogicalFile.

Status

Data type: string

Access type: Read-only

Qualifiers: MaxLen (10), DisplayName ("Status")

String that indicates the current status of the object. Operational and non-operational status can be defined. Operational status can include "OK", "Degraded", and "Pred Fail". "Pred Fail" indicates that an element is functioning properly, but is predicting a failure (for example, a SMART-enabled hard disk drive).

Non-operational status can include "Error", "Starting", "Stopping", and "Service". "Service" can apply during disk mirror-resilvering, reloading a user permissions list, or other administrative work. Not all such work is online, but the managed element is neither "OK" nor in one of the other states.

This property is inherited from CIM_ManagedSystemElement.

Values include the following:

OK ("OK")

Error ("Error")

Degraded ("Degraded")

Unknown ("Unknown")

Pred Fail ("Pred Fail")

Starting ("Starting")

Stopping ("Stopping")

Service ("Service")

Stressed ("Stressed")

NonRecover ("NonRecover")

No Contact ("No Contact")

Lost Comm ("Lost Comm")

System

Data type: boolean

Access type: Read-only

Qualifiers: Schema ("Win32"), DisplayName ("System File")

If True, the file is a system file.

This property is inherited from CIM_LogicalFile.

Version

Data type: string

Access type: Read-only

Qualifiers: Schema ("Win32"), DisplayName ("Version")

Version string from the version resource (if one is present).

Writeable

Data type: boolean

Access type: Read-only

Qualifiers: DisplayName ("Writeable")

If True, the file can be written.

This property is inherited from CIM_LogicalFile.

Remarks

The CIM_DataFile class is derived from CIM_LogicalFile.

WMI implements the CIM_DataFile class and all of its methods. The CIM_DataFile class is a dynamic class.

This documentation is derived from the CIM class descriptions published by the DMTF. Microsoft may have made changes to correct minor errors, conform to Microsoft SDK documentation standards, or provide more information.

Due to security purposes, WMI does not directly support calling a remote computer and instructing it to copy files to itself. However, you can use the relevant programming language to call FTP or RoboCopy, for example.

Examples

The following Scripting Center code example uses a CIM_DataFile class as part of a larger application to Generate exchange environment reports using Powershell.

The Find files with WMI PowerShell code sample in TechNet Gallery uses a CIM_DataFile to search for one or more files across multiple computers.

The following VBS code sample describes how to perform a standard wildcard search on a datafile. Note that the backslash delimiters must be escaped with another backslash (\\). Also, when using "CIM_DataFile.FileName" in the WHERE clause, the WMIPRVSE process will scan all directories on any available storage device. This may take some time, especially if you have mapped remote shares, and can trigger antivirus warnings.

strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFiles = objWMIService.ExecQuery("Select * from CIM_DataFile where FileName Like '%~%'")
For Each objFile in colFiles
   Wscript.Echo objFile.Name
Next

The following snippet limits the search range to a specific drive, path, and file extension.

Set colFiles = objWMIService.ExecQuery("Select * from CIM_DataFile where Drive='"C:"' And Path='"\\"' and Name Like '%~%' and Extension='doc' ")

The following PowerShell code sample retrieves a single attribute value.

 $computer = "."

  $path = "C:\\Program Files\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\LOG\\"

  $filename = "ERRORLOG"

  $fullname = $path + $filename

  $wql = 'SELECT Archive FROM CIM_DataFile WHERE Name = "' + $fullname + '"'


  Get-WmiObject -ComputerName $computer -Query $wql | foreach { $_.Archive }

Requirements

Minimum supported client
Windows Vista
Minimum supported server
Windows Server 2008
Namespace
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

See also

CIM_LogicalFile

WMI Tasks: Files and Folders

File and Directory Access Rights Constants