如何复制局域网内某一机器的某一目录内的一个或多个文件到本机或目标机器.

解决方案 »

  1.   

    Private Type SHFILEOPSTRUCT 
    hwnd As Long 
    wFunc As Long
    pFrom As String 
    pTo As String 
    fFlags As Integer
    fAnyOperationsAborted As Long 
    hNameMappings As Long
    lpszProgressTitle As String '只有在 FOF_SIMPLEPROGRESS 时用
    End TypePrivate Declare Function SHFileOperation Lib _
    "shell32.dll" Alias "SHFileOperationA" (lpFileOp _
    As SHFILEOPSTRUCT) As Long'wFunc 常数
    'FO_COPY   把 pFrom 文件拷贝到 pTo。
    Const FO_COPY = &H2
    'FO_DELETE 删除 pFrom 中的文件(pTo 忽略)。
    Const FO_DELETE = &H3
    'FO_MOVE   把 pFrom 文件移动到 pTo。
    Const FO_MOVE = &H1'fFlag 常数
    'FOF_ALLOWUNDO 允许 Undo 。
    Const FOF_ALLOWUNDO = &H40
    'FOF_NOCONFIRMATION 不显示系统确认对话框。
    Const FOF_NOCONFIRMATION = &H10
    'FOF_NOCONFIRMMKDIR 不提示是否新建目录。
    Const FOF_NOCONFIRMMKDIR = &H200
    'FOF_SILENT 不显示进度对话框
    Const FOF_SILENT = &H4例子:
    Dim SHFileOp As SHFILEOPSTRUCT
    ' 删除
    SHFileOp.wFunc = FO_DELETE 
    SHFileOp.pFrom = "c:\config.old" + Chr(0)
    SHFileOp.fFlags = FOF_ALLOWUNDO + FOF_NOCONFIRMATION
    Call SHFileOperation(SHFileOp)
    ' 删除多个文件
    SHFileOp.wFunc = FO_DELETE
    SHFileOp.pFrom = "c:\config.old" +Chr(0) + "c:\autoexec.old"+Chr(0)
    SHFileOp.fFlags = FOF_ALLOWUNDO
    Call SHFileOperation(SHFileOp)
    ' 拷贝
    SHFileOp.wFunc = FO_COPY 
    SHFileOp.pFrom = "c:\t\*.*"
    SHFileOp.pTo = "d:\t\*.*"
    SHFileOp.fFlags = FOF_ALLOWUNDO + FOF_NOCONFIRMMKDIR
    Call SHFileOperation(SHFileOp)
    ' 移动
    SHFileOp.wFunc = FO_MOVE 
    SHFileOp.pFrom = "c:\config.old" + Chr(0)
    SHFileOp.pTo = "d:\t"
    SHFileOp.fFlags = FOF_ALLOWUNDO + FOF_NOCONFIRMATION
    Call SHFileOperation(SHFileOp)