Метод Copy класса Win32_Directory

Метод класса CopyWMI копирует файл записи логического каталога или каталог, указанный в пути к объекту, в расположение, указанное входным параметром. Копирование не поддерживается, если требуется перезапись существующего логического файла.

В этом разделе используется синтаксис MOF. Дополнительные сведения об использовании этого метода см. в разделе Вызов метода .

Синтаксис

uint32 Copy(
   string FileName
);

Параметры

FileName

Полное имя копии файла (или каталога). Пример: c:\temp\newdirectory

Возвращаемое значение

Возвращает значение 0 (ноль), если файл успешно скопирован, и любое другое число, указывающее на ошибку.

0

Запрос выполнен успешно.

2

В доступе было отказано.

8

Произошла неуказаная ошибка.

9

Указанное имя было недопустимым.

10

Указанный объект уже существует.

11

Файловая система не является системой NTFS.

12

Платформа не является Windows.

13

Диск отличается.

14

Каталог не пуст.

15

Произошло нарушение общего доступа.

16

Указан недопустимый начальный файл.

17

Привилегия, необходимая для операции, не удерживается.

21

Указанный параметр недопустим.

Комментарии

Папки часто приходится копировать из одного расположения в другое. Например, можно скопировать папку с одного сервера на другой, чтобы создать резервную копию этой папки. Кроме того, у вас может быть папка templates, которую необходимо скопировать на рабочие станции пользователей, или папка scripts, которая должна быть скопирована на все DNS-серверы.

Метод Win32_Directory Copy позволяет копировать папку из одного расположения в другое либо на том же компьютере (например, при копировании папки с диска C на диск D) или на удаленном компьютере. Чтобы скопировать папку, возвращается экземпляр папки для копирования, а затем вызывается метод Copy, передавая в качестве параметра целевое расположение для новой копии папки. Например, эта строка кода копирует папку в папку Scripts на диске F:

objFolder.Copy("F:\Scripts")

WMI не перезаписывает существующую папку при выполнении метода Copy. Это означает, что операция копирования завершается сбоем, если конечная папка существует. Например, предположим, что у вас есть папка с именем Scripts и вы пытаетесь скопировать ее в удаленную общую папку с именем \\atl-fs-01\archive. Если папка с именем Scripts уже существует в этой общей папке, операция копирования завершится ошибкой.

Примеры

Следующий пример кода, взятый из раздела Копирование папки с помощью инструментария WMI, использует метод Copy для копирования папки C:\Scripts в 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

Требования

Требование Значение
Минимальная версия клиента
Windows Vista
Минимальная версия сервера
Windows Server 2008
Пространство имен
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

См. также раздел

Классы операционной системы

Win32_Directory