Folder.CopyHere method
Copies an item or items to a folder.
Syntax
Folder.CopyHere(
vItem,
[ vOptions ]
)
Parameters
-
vItem
-
Type: Variant
The item or items to copy. This can be a string that represents a file name, a FolderItem object, or a FolderItems object.
-
vOptions [optional]
-
Type: Variant
Options for the copy operation. This value can be zero or a combination of the following values. These values are based upon flags defined for use with the fFlags member of the C++ SHFILEOPSTRUCT structure. Each Shell namespace must provide its own implementation of these flags, and each namespace can choose to ignore some or even all of these flags. These flags are not defined by name for Visual Basic, VBScript, or JScript, so you must define them yourself or use their numeric equivalents.
Note
In some cases, such as compressed (.zip) files, some option flags may be ignored by design.
-
(4)
-
Do not display a progress dialog box.
-
(8)
-
Give the file being operated on a new name in a move, copy, or rename operation if a file with the target name already exists.
-
(16)
-
Respond with "Yes to All" for any dialog box that is displayed.
-
(64)
-
Preserve undo information, if possible.
-
(128)
-
Perform the operation on files only if a wildcard file name (*.*) is specified.
-
(256)
-
Display a progress dialog box but do not show the file names.
-
(512)
-
Do not confirm the creation of a new directory if the operation requires one to be created.
-
(1024)
-
Do not display a user interface if an error occurs.
-
(2048)
-
Version 4.71. Do not copy the security attributes of the file.
-
(4096)
-
Only operate in the local directory. Do not operate recursively into subdirectories.
-
(8192)
-
Version 5.0. Do not copy connected files as a group. Only copy the specified files.
Return value
This method does not return a value.
Remarks
No notification is given to the calling program to indicate that the copy has completed.
Note
Not all methods are implemented for all folders. For example, the ParseName method is not implemented for the Control Panel folder (CSIDL_CONTROLS). If you attempt to call an unimplemented method, a 0x800A01BD (decimal 445) error is raised.
Examples
The following example uses CopyHere to copy the Autoexec.bat file from the root directory to the C:\Windows directory. Proper usage is shown for JScript, VBScript, and 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
Requirements
Requirement | Value |
---|---|
Minimum supported client |
Windows 2000 Professional, Windows XP [desktop apps only] |
Minimum supported server |
Windows 2000 Server [desktop apps only] |
Header |
|
IDL |
|
DLL |
|
See also