다음을 통해 공유


Folder.CopyHere 메서드

항목 또는 항목을 폴더에 복사합니다.

구문

Folder.CopyHere(
  vItem,
  [ vOptions ]
)

매개 변수

vItem

형식: Variant

복사할 항목입니다. 파일 이름, FolderItem 개체 또는 FolderItems 개체를 나타내는 문자열일 수 있습니다 .

vOptions [선택 사항]

형식: Variant

복사 작업에 대한 옵션입니다. 이 값은 0이거나 다음 값의 조합일 수 있습니다. 이러한 값은 C++ SHFILEOPSTRUCT 구조체의 fFlags 멤버와 함께 사용하기 위해 정의된 플래그를 기반으로 합니다. 각 셸 네임스페이스는 이러한 플래그의 자체 구현을 제공해야 하며, 각 네임스페이스는 이러한 플래그의 일부 또는 전부를 무시하도록 선택할 수 있습니다. 이러한 플래그는 Visual Basic, VBScript 또는 JScript의 이름으로 정의되지 않으므로 직접 정의하거나 해당 숫자와 동등한 플래그를 사용해야 합니다.

참고

압축된(.zip) 파일과 같은 일부 옵션 플래그는 의도적으로 무시될 수 있습니다.

 

(4)

진행률 대화 상자를 표시하지 마세요.

(8)

대상 이름을 가진 파일이 이미 있는 경우 이동, 복사 또는 이름 바꾸기 작업에서 새 이름으로 작동하는 파일을 지정합니다.

(16)

표시되는 대화 상자에 대해 "모두 예"로 응답합니다.

(64)

가능한 경우 실행 취소 정보를 유지합니다.

(128)

와일드카드 파일 이름(*.*)이 지정된 경우에만 파일에 대한 작업을 수행합니다.

(256)

진행률 대화 상자를 표시하지만 파일 이름은 표시하지 않습니다.

(512)

작업에 새 디렉터리를 만들어야 하는 경우 새 디렉터리 만들기를 확인하지 마세요.

(1024)

오류가 발생하면 사용자 인터페이스를 표시하지 마세요.

(2048)

버전 4.71. 파일의 보안 특성을 복사하지 마세요.

(4096)

로컬 디렉터리에서만 작동합니다. 하위 디렉터리로 재귀적으로 작동하지 않습니다.

(8192)

버전 5.0. 연결된 파일을 그룹으로 복사하지 마세요. 지정된 파일만 복사합니다.

반환 값

이 메서드는 값을 반환하지 않습니다.

설명

복사가 완료되었음을 나타내는 호출 프로그램에 알림이 제공되지 않습니다.

참고

모든 폴더에 대해 모든 메서드가 구현되는 것은 아닙니다. 예를 들어 ParseName 메서드는 제어판 폴더(CSIDL_CONTROLS)에 대해 구현되지 않습니다. 구현되지 않은 메서드를 호출하려고 하면 0x800A01BD(10진수 445) 오류가 발생합니다.

 

예제

다음 예제에서는 CopyHere 를 사용하여 루트 디렉터리에서 C:\Windows 디렉터리로 Autoexec.bat 파일을 복사합니다. 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 이상)

추가 정보

폴더