Condividi tramite


Metodo Folder.CopyHere

Copia un elemento o elementi in una cartella.

Sintassi

Folder.CopyHere(
  vItem,
  [ vOptions ]
)

Parametri

vItem

Tipo: Variant

Elemento o elementi da copiare. Può trattarsi di una stringa che rappresenta un nome di file, un oggetto FolderItem o un oggetto FolderItems .

vOptions [facoltativo]

Tipo: Variant

Opzioni per l'operazione di copia. Questo valore può essere zero o una combinazione dei valori seguenti. Questi valori si basano sui flag definiti per l'uso con il membro fFlags della struttura SHFILEOPSTRUCT C++. Ogni spazio dei nomi shell deve fornire la propria implementazione di questi flag e ogni spazio dei nomi può scegliere di ignorare alcuni o anche tutti questi flag. Questi flag non sono definiti per nome per Visual Basic, VBScript o JScript, pertanto è necessario definirli manualmente o usare gli equivalenti numerici.

Nota

In alcuni casi, ad esempio file compressi (.zip), alcuni flag di opzione possono essere ignorati dalla progettazione.

 

(4)

Non visualizzare una finestra di dialogo di stato.

(8)

Assegnare al file un nuovo nome in un'operazione di spostamento, copia o ridenominazione se esiste già un file con il nome di destinazione.

(16)

Rispondere con "Sì a tutto" per qualsiasi finestra di dialogo visualizzata.

(64)

Conservare le informazioni di annullamento, se possibile.

(128)

Eseguire l'operazione sui file solo se viene specificato un nome di file con caratteri jolly (*.*).

(256)

Visualizzare una finestra di dialogo di stato ma non visualizzare i nomi dei file.

(512)

Non confermare la creazione di una nuova directory se è necessario crearne uno.

(1024)

Non visualizzare un'interfaccia utente se si verifica un errore.

(2048)

Versione 4.71. Non copiare gli attributi di sicurezza del file.

(4096)

Opera solo nella directory locale. Non operare in modo ricorsivo in sottodirectory.

(8192)

Versione 5.0. Non copiare i file connessi come gruppo. Copiare solo i file specificati.

Valore restituito

Questo metodo non restituisce valori.

Commenti

Non viene inviata alcuna notifica al programma chiamante per indicare che la copia è stata completata.

Nota

Non tutti i metodi vengono implementati per tutte le cartelle. Ad esempio, il metodo ParseName non viene implementato per la cartella Pannello di controllo (CSIDL_CONTROLS). Se si tenta di chiamare un metodo non implementato, viene generato un errore di 0x800A01BD (decimale 445).

 

Esempio

L'esempio seguente usa CopyHere per copiare il file Autoexec.bat dalla directory radice alla directory C:\Windows. Viene visualizzato un utilizzo appropriato per JScript, VBScript e 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

Requisiti

Requisito Valore
Client minimo supportato
Windows 2000 Professional, Windows XP [solo app desktop]
Server minimo supportato
Windows 2000 Server [solo app desktop]
Intestazione
Shldisp.h
IDL
Shldisp.idl
DLL
Shell32.dll (versione 4.71 o successiva)

Vedi anche

Cartella