Метод Folder.CopyHere
Копирует элемент или элементы в папку.
Синтаксис
Folder.CopyHere(
vItem,
[ vOptions ]
)
Параметры
-
vItem
-
Тип: Variant
Элемент или элементы для копирования. Это может быть строка, представляющая имя файла, объект FolderItem или объект FolderItems .
-
vOptions [необязательно]
-
Тип: Variant
Параметры для операции копирования. Это значение может быть равно нулю или сочетанию следующих значений. Эти значения основаны на флагах, определенных для использования с элементом fFlags структуры C++ SHFILEOPSTRUCT . Каждое пространство имен оболочки должно предоставлять собственную реализацию этих флагов, и каждое пространство имен может игнорировать некоторые или даже все эти флаги. Эти флаги не определяются по имени для Visual Basic, VBScript или JScript, поэтому их необходимо определить самостоятельно или использовать их числовые эквиваленты.
Примечание
В некоторых случаях, например в сжатых (.zip) файлах, некоторые флаги параметров могут быть проигнорированы по умолчанию.
-
(4)
-
Диалоговое окно хода выполнения не отображается.
-
(8)
-
Присвойте файлу новое имя в операции перемещения, копирования или переименования, если файл с целевым именем уже существует.
-
(16)
-
Ответьте "Да всем" для любого отображаемого диалогового окна.
-
(64)
-
По возможности сохраните сведения об отмене.
-
(128)
-
Выполнять операцию с файлами, только если указано имя файла с подстановочными знаками (*.*).
-
(256)
-
Отображает диалоговое окно хода выполнения, но не отображает имена файлов.
-
(512)
-
Не подтверждайте создание нового каталога, если операция требует его создания.
-
(1024)
-
Не отображайте пользовательский интерфейс при возникновении ошибки.
-
(2048)
-
Версия 4.71. Не копируйте атрибуты безопасности файла.
-
(4096)
-
Работать только в локальном каталоге. Не избежать рекурсивной работы в подкаталогах.
-
(8192)
-
Версия 5.0. Не копируйте подключенные файлы как группу. Скопируйте только указанные файлы.
Возвращаемое значение
Этот метод не возвращает значение.
Комментарии
Вызывающая программа не получает уведомления о том, что копирование завершено.
Примечание
Не все методы реализуются для всех папок. Например, метод ParseName не реализован для папки панель управления (CSIDL_CONTROLS). При попытке вызвать нереализованный метод возникает ошибка 0x800A01BD (десятичное число 445).
Примеры
В следующем примере copyHere используется для копирования файла Autoexec.bat из корневого каталога в каталог C:\Windows. Для JScript, VBScript и Visual Basic отображается правильное использование.
Jscript:
<script language="JScript">
function fnCopyHereJ()
{
var objShell = new ActiveXObject("shell.application");
var objFolder = new Object;
objFolder = objShell.NameSpace("C:\\WINDOWS");
if (objFolder != null)
{
objFolder.CopyHere("C:\\AUTOEXEC.BAT");
}
}
</script>
Vbscript:
<script language="VBScript">
function fnCopyHereVB()
dim objShell
dim objFolder
set objShell = CreateObject("shell.application")
set objFolder = objShell.NameSpace("C:\WINDOWS")
if not objFolder is nothing then
objFolder.CopyHere("C:\AUTOEXEC.BAT")
end if
set objShell = nothing
set objFolder = nothing
end function
</script>
Visual Basic:
Private Sub btnCopyHere_Click()
Dim objShell As Shell
Dim objFolder As Folder
Set objShell = New Shell
Set objFolder = objShell.NameSpace("C:\WINDOWS")
If (Not objFolder Is Nothing) Then
objFolder.CopyHere ("C:\AUTOEXEC.BAT")
End If
Set objFolder = Nothing
Set objShell = Nothing
End Sub
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional, Windows XP [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|
IDL |
|
DLL |
|
См. также раздел