Прочитать на английском

Поделиться через


Метод 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 [только классические приложения]
Заголовок
Shldisp.h
IDL
Shldisp.idl
DLL
Shell32.dll (версия 4.71 или более поздняя)

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

Папка