VB.Net에서 단일 창 복사 GUI를 사용하여 여러 파일 / 폴더를 복사하는 방법

EdCordata

VB.Net에서 많은 파일과 폴더를 동일한 디렉토리에 복사하는 앱을 만들고 있으며 Windows 탐색기를 사용하고 싶습니다 (사용자는 GUI를 사용하므로 오류 표시 나 파일 비교에 대해 걱정할 필요가 없습니다).

따라서 각 파일 / 폴더에 대해 이렇게하면 :

My.Computer.FileSystem.CopyDirectory(source_path, target_path, FileIO.UIOption.AllDialogs)
My.Computer.FileSystem.CopyFile(source_path, target_path, FileIO.UIOption.AllDialogs)

올바르게 작동하며 다음 창을 표시합니다.

단일 사본

하지만 파일 및 / 또는 폴더가 많고이를 반복하고 위의 명령을 호출하면 모두를 결합하는 단일 GUI를 실행하는 대신 각 파일 / 폴더에 대해 새 복사 창을 실행합니다. :

여러 사본

여러 파일 / 폴더 복사 프로세스를 단일 Windows 탐색기 복사 창 GUI로 결합 할 수 있습니까?

EdCordata

@Jimi 덕분에 나는의 방향을 지적 받았기 SHFileOperations때문에 이것을하는 방법을 알아 냈습니다. 나는 이것을하기 위해 작은 수업을 만들었다.

Imports System.Runtime.InteropServices

Public Class NativeCopy
    
    Private Enum FO_Func As Short
        FO_COPY   = &H2
        FO_DELETE = &H3
        FO_MOVE   = &H1
        FO_RENAME = &H4
    End Enum

    Private Structure SHFILEOPSTRUCT

        Public hwnd  As IntPtr
        Public wFunc As FO_Func

        <MarshalAs(UnmanagedType.LPWStr)>
        Public pFrom As String

        <MarshalAs(UnmanagedType.LPWStr)>
        Public pTo                   As String
        Public fFlags                As UShort
        Public fAnyOperationsAborted As Boolean
        Public hNameMappings         As IntPtr

        <MarshalAs(UnmanagedType.LPWStr)>
        Public lpszProgressTitle As String

    End Structure

    <DllImport("shell32.dll", CharSet:=CharSet.Unicode)>
    Private Shared Function SHFileOperation(
       <[In]> ByRef lpFileOp As SHFILEOPSTRUCT) As Integer
    End Function

    Private Shared _ShFile As SHFILEOPSTRUCT

    Public Shared Sub Copy(ByVal sSource As List(Of String), ByVal sTarget As String)
        _ShFile.wFunc = FO_Func.FO_COPY
        _ShFile.pFrom = String.Join(vbNullChar, sSource) + vbNullChar
        _ShFile.pTo   = sTarget
        SHFileOperation(_ShFile)
   End Sub

End Class

파일 및 / 또는 폴더를 복사하는 방법은 다음과 같습니다.

Dim copy_items_paths As List(Of String)
Dim target_path      As String

NativeCopy.Copy(copy_items_paths, target_path)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

execlp를 사용하여 파일을 폴더에 복사하는 방법은 무엇입니까?

분류에서Dev

VBA를 사용하여 동적 폴더에 파일 복사

분류에서Dev

Java Eclipse를 사용하여 한 폴더에서 다른 폴더로 파일 복사 (오류 핸들러 사용)

분류에서Dev

배치 파일을 사용하여 백업 폴더의 새 폴더에 기존 하위 폴더를 복사하는 방법은 무엇입니까?

분류에서Dev

PHP를 사용하여 여러 파일 이름을 복사하는 방법?

분류에서Dev

scp를 사용하여 내 서버에 파일을 복사하는 방법

분류에서Dev

gulp를 사용하여 폴더 구조의 어딘가에있는 정확한 폴더에서 파일을 복사하는 방법

분류에서Dev

cp를 사용하여 단일 파일을 여러 디렉토리에 복사

분류에서Dev

JAVASCRIPT를 사용하여 단일 값을 여러 열에 복사

분류에서Dev

Java를 사용하여 한 폴더에서 다른 폴더로 파일을 복사하는 방법은 무엇입니까?

분류에서Dev

Java API를 사용하여 한 HDFS 폴더에서 다른 HDFS 폴더로 파일을 복사하는 방법은 무엇입니까?

분류에서Dev

명령 줄을 사용하여 파일을 여러 폴더에 복사하는 방법은 무엇입니까?

분류에서Dev

루프를 사용하여 한 폴더의 여러 파일에 awk 스크립트를 적용하는 방법

분류에서Dev

Perl Oneliner를 사용하여 여러 파일을 반복하는 방법

분류에서Dev

Python에서 여러 XML 노드를 다른 파일에 복사하는 방법

분류에서Dev

AppleScript를 사용하여 네트워크 폴더에서 파일 복사

분류에서Dev

Python OpenCV2를 사용하여 단일 창에 여러 비디오 프레임을 표시하는 방법

분류에서Dev

cx_freeze를 사용하여 Python에서 여러 파일로 단일 .exe 파일을 빌드하는 방법

분류에서Dev

배치를 사용하여 올바른 프로그램 파일 폴더에 파일을 복사하는 방법은 무엇입니까?

분류에서Dev

Windows 배치 파일 또는 vbs 스크립트를 사용하여 한 번에 여러 파일을 2 개 폴더에서 다른 폴더로 복사하는 방법

분류에서Dev

Windows 배치 파일 또는 vbs 스크립트를 사용하여 한 번에 여러 파일을 2 개 폴더에서 다른 폴더로 복사하는 방법

분류에서Dev

임의의 접두사를 사용하여 한 폴더에서 다른 폴더로 파일 복사

분류에서Dev

awk를 사용하여 파일 복사를 수행하는 방법. awk에서 분할을 사용하여 복사가 작동하지 않습니다.

분류에서Dev

.Net Core를 사용하여 단일 인스턴스에서 기본 창 상태를 변경하는 방법

분류에서Dev

scp 명령을 사용하여 한 원격 서버에서 다른 원격 서버로 파일과 폴더를 복사하는 방법은 무엇입니까?

분류에서Dev

명령 줄을 사용하여 폴더를 여러 폴더에 복사하는 방법은 무엇입니까?

분류에서Dev

dired / tramp를 사용하여 원격 서버에서 emacs의 로컬 폴더로 파일을 복사하는 방법은 무엇입니까?

분류에서Dev

Python을 사용하여 하위 폴더 및 파일을 새 폴더에 복사하는 방법

분류에서Dev

작은 단일 이미지를 사용하고 창 전체에서 반복하여 tkinter GUI를 사용하여 배경 이미지로 만드는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    execlp를 사용하여 파일을 폴더에 복사하는 방법은 무엇입니까?

  2. 2

    VBA를 사용하여 동적 폴더에 파일 복사

  3. 3

    Java Eclipse를 사용하여 한 폴더에서 다른 폴더로 파일 복사 (오류 핸들러 사용)

  4. 4

    배치 파일을 사용하여 백업 폴더의 새 폴더에 기존 하위 폴더를 복사하는 방법은 무엇입니까?

  5. 5

    PHP를 사용하여 여러 파일 이름을 복사하는 방법?

  6. 6

    scp를 사용하여 내 서버에 파일을 복사하는 방법

  7. 7

    gulp를 사용하여 폴더 구조의 어딘가에있는 정확한 폴더에서 파일을 복사하는 방법

  8. 8

    cp를 사용하여 단일 파일을 여러 디렉토리에 복사

  9. 9

    JAVASCRIPT를 사용하여 단일 값을 여러 열에 복사

  10. 10

    Java를 사용하여 한 폴더에서 다른 폴더로 파일을 복사하는 방법은 무엇입니까?

  11. 11

    Java API를 사용하여 한 HDFS 폴더에서 다른 HDFS 폴더로 파일을 복사하는 방법은 무엇입니까?

  12. 12

    명령 줄을 사용하여 파일을 여러 폴더에 복사하는 방법은 무엇입니까?

  13. 13

    루프를 사용하여 한 폴더의 여러 파일에 awk 스크립트를 적용하는 방법

  14. 14

    Perl Oneliner를 사용하여 여러 파일을 반복하는 방법

  15. 15

    Python에서 여러 XML 노드를 다른 파일에 복사하는 방법

  16. 16

    AppleScript를 사용하여 네트워크 폴더에서 파일 복사

  17. 17

    Python OpenCV2를 사용하여 단일 창에 여러 비디오 프레임을 표시하는 방법

  18. 18

    cx_freeze를 사용하여 Python에서 여러 파일로 단일 .exe 파일을 빌드하는 방법

  19. 19

    배치를 사용하여 올바른 프로그램 파일 폴더에 파일을 복사하는 방법은 무엇입니까?

  20. 20

    Windows 배치 파일 또는 vbs 스크립트를 사용하여 한 번에 여러 파일을 2 개 폴더에서 다른 폴더로 복사하는 방법

  21. 21

    Windows 배치 파일 또는 vbs 스크립트를 사용하여 한 번에 여러 파일을 2 개 폴더에서 다른 폴더로 복사하는 방법

  22. 22

    임의의 접두사를 사용하여 한 폴더에서 다른 폴더로 파일 복사

  23. 23

    awk를 사용하여 파일 복사를 수행하는 방법. awk에서 분할을 사용하여 복사가 작동하지 않습니다.

  24. 24

    .Net Core를 사용하여 단일 인스턴스에서 기본 창 상태를 변경하는 방법

  25. 25

    scp 명령을 사용하여 한 원격 서버에서 다른 원격 서버로 파일과 폴더를 복사하는 방법은 무엇입니까?

  26. 26

    명령 줄을 사용하여 폴더를 여러 폴더에 복사하는 방법은 무엇입니까?

  27. 27

    dired / tramp를 사용하여 원격 서버에서 emacs의 로컬 폴더로 파일을 복사하는 방법은 무엇입니까?

  28. 28

    Python을 사용하여 하위 폴더 및 파일을 새 폴더에 복사하는 방법

  29. 29

    작은 단일 이미지를 사용하고 창 전체에서 반복하여 tkinter GUI를 사용하여 배경 이미지로 만드는 방법은 무엇입니까?

뜨겁다태그

보관