Méthode Folder.CopyHere

Copie un ou plusieurs éléments dans un dossier.

Syntaxe

Folder.CopyHere(
  vItem,
  [ vOptions ]
)

Paramètres

vItem

Type : Variant

Élément ou éléments à copier. Il peut s’agir d’une chaîne qui représente un nom de fichier, un objet FolderItem ou un objet FolderItems .

vOptions [facultatif]

Type : Variant

Options pour l’opération de copie. Cette valeur peut être zéro ou une combinaison des valeurs suivantes. Ces valeurs sont basées sur des indicateurs définis pour une utilisation avec le membre fFlags de la structure C++ SHFILEOPSTRUCT . Chaque espace de noms Shell doit fournir sa propre implémentation de ces indicateurs, et chaque espace de noms peut choisir d’ignorer certains ou même tous ces indicateurs. Ces indicateurs ne sont pas définis par nom pour Visual Basic, VBScript ou JScript. Vous devez donc les définir vous-même ou utiliser leurs équivalents numériques.

Notes

Dans certains cas, comme les fichiers compressés (.zip), certains indicateurs d’option peuvent être ignorés par défaut.

 

(4)

N’affichez pas de boîte de dialogue de progression.

(8)

Donnez au fichier en cours d’exploitation un nouveau nom dans une opération de déplacement, de copie ou de renommage si un fichier portant le nom cible existe déjà.

(16)

Répondez avec « Oui à tous » pour toute boîte de dialogue qui s’affiche.

(64)

Conservez les informations d’annulation, si possible.

(128)

Effectuez l’opération sur les fichiers uniquement si un nom de fichier générique (*.*) est spécifié.

(256)

Affichez une boîte de dialogue de progression, mais n’affichez pas les noms de fichiers.

(512)

Ne confirmez pas la création d’un répertoire si l’opération en nécessite la création.

(1024)

N’affichez pas d’interface utilisateur si une erreur se produit.

(2048)

Version 4.71. Ne copiez pas les attributs de sécurité du fichier.

(4096)

Fonctionnent uniquement dans le répertoire local. N’effectuez pas d’opérations récursives dans les sous-répertoires.

(8192)

Version 5.0. Ne copiez pas les fichiers connectés en tant que groupe. Copiez uniquement les fichiers spécifiés.

Valeur retournée

Cette méthode ne retourne pas de valeur.

Notes

Aucune notification n’est envoyée au programme appelant pour indiquer que la copie est terminée.

Notes

Toutes les méthodes ne sont pas implémentées pour tous les dossiers. Par exemple, la méthode ParseName n’est pas implémentée pour le dossier Panneau de configuration (CSIDL_CONTROLS). Si vous tentez d’appeler une méthode non implémentée, une erreur 0x800A01BD (décimale 445) est générée.

 

Exemples

L’exemple suivant utilise CopyHere pour copier le fichier Autoexec.bat du répertoire racine vers le répertoire C:\Windows. Une utilisation correcte est indiquée pour JScript, VBScript et 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

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 2000 Professionnel, Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge
Windows 2000 Server [applications de bureau uniquement]
En-tête
Shldisp.h
IDL
Shldisp.idl
DLL
Shell32.dll (version 4.71 ou ultérieure)

Voir aussi

Dossier