Метод 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 |
|
DLL |
|