Copy method of the Win32_Directory class
The Copy WMI class method copies the logical directory entry file or directory specified in the object path to the location specified by the input parameter. A copy is not supported if overwriting an existing logical file is required.
This topic uses Managed Object Format (MOF) syntax. For more information about using this method, see Calling a Method.
Syntax
uint32 Copy(
string FileName
);
Parameters
-
FileName
-
Fully qualified name of the copy of the file (or directory). Example: c:\temp\newdirectory
Return value
Returns a value of 0 (zero) if the file was successfully copied, and any other number to indicate an error.
-
0
-
The request was successful.
-
2
-
Access was denied.
-
8
-
An unspecified failure occurred.
-
9
-
The name specified was not valid.
-
10
-
The object specified already exists.
-
11
-
The file system is not NTFS.
-
12
-
The platform is not Windows.
-
13
-
The drive is not the same.
-
14
-
The directory is not empty.
-
15
-
There has been a sharing violation.
-
16
-
The start file specified was not valid.
-
17
-
A privilege required for the operation is not held.
-
21
-
A parameter specified is not valid.
Remarks
Folders often need to be copied from one location to another. For example, you might copy a folder from one server to another to create a backup copy of that folder. Or you might have a templates folder that needs to be copied to user workstations, or a scripts folder that should be copied to all of your DNS servers.
The Win32_Directory Copy method enables you to copy a folder from one location to another, either on the same computer (for example, copying a folder from drive C to drive D) or on a remote computer. To copy a folder, you return an instance of the folder to be copied and then call the Copy method, passing as a parameter the target location for the new copy of the folder. For example, this line of code copies a folder to the Scripts folder on drive F:
objFolder.Copy("F:\Scripts")
WMI will not overwrite an existing folder when executing the Copy method. This means that the copy operation fails if the destination folder exists. For example, suppose you have a folder named Scripts and you attempt to copy that folder to a remote share named \\atl-fs-01\archive. If a folder named Scripts already exists on that share, the copy operation fails.
Examples
The followng code sample uses the Copy method to copy the folder C:\Scripts to D:\Archive.
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
errResults = objFolder.Copy("D:\Archive")
Next
Requirements
Requirement | Value |
---|---|
Minimum supported client |
Windows Vista |
Minimum supported server |
Windows Server 2008 |
Namespace |
Root\CIMV2 |
MOF |
|
DLL |
|