In this thread
http://ozgrid.com/forum/viewthread.php?tid=1783 AJW references the VBS for copying files.

Thanks AJW, you have prompted me to TRY and finish one of my Site pages on this DLL....
What AJW has
really found is the power of the
Windows Core DLLs,
specifically the
Shell32.Dll of which one of it's primary responsibilities is
managing and providing access to the wide variety of objects that make up the system
eg. Network printers, Other networked computers, Control Panel applications, The Recycle Bin etc.
The Shell object represents the objects in the Windows Shell.
You can use the methods exposed by the Shell object to:
Open, explore, and browse for folders.(See below)
Minimize, restore, cascade, or tile open windows.
Launch Control Panel applications.
Display system dialog boxes (The copy routine)
This DLL is referenced in AJW's code via this statement;
Set objShell = CreateObject("Shell.Application")

The code doesn't need to be executed via VBS, VBA or any Scripting language that
supports COM will do the job. eg Java
Also the Native VBA code will do it.
Most of the programming elements in the Shell and common controls are contained in three DLLs;
Comctl32.dll
Shell32.dll
and Shlwapi.dll. (Shell light weight API)
You should be mindful of the Shell version because of ongoing enhancements, different versions
of these DLLs implement different features.
Version DLL Distribution Platform
4.0 All Microsoft® Windows® 95/Microsoft Windows NT® 4.0.
4.7 All Microsoft Internet Explorer 3.x.
4.71 All Internet Explorer 4.0.
4.72 All Internet Explorer 4.01 and Windows 98.
5.0 Shlwapi.dll Internet Explorer 5.
6.0 Shlwapi.dll Internet Explorer 6 and Windows XP.
5.0 Shell32.dll Windows 2000 and Windows Millennium Edition (Windows Me).
6.0 Shell32.dll Windows XP.
5.8 Comctl32.dll Internet Explorer 5.
5.81 Comctl32.dll Windows 2000 and Windows Me.
6.0 Comctl32.dll Windows XP.
I am currently doing a write up on these powerful core DLLs of which the
Shell32.Dll is one.
[One Example here for Now ]
http://www.xcelfiles.com/Shell32_01.html
Here is just a few examples of what you CAN DO, I'll leave the detailed explaination @ my site when finished.
VB: AutoLinked keywords will cause extra spaces before keywords. Extra spacing is NOT transferred when copy/pasting, but IS if the keyword uses "quotes".
Option Explicit
Private Const BIF_BROWSEFORCOMPUTER = &H1000
Private Const BIF_BROWSEFORPRINTER = &H2000
Private Const BIF_BROWSEINCLUDEFILES = &H4000
Private Const BIF_BROWSEINCLUDEURLS = &H80
Private Const BIF_DONTGOBELOWDOMAIN = &H2
Private Const BIF_EDITBOX = &H10
Private Const BIF_NEWDIALOGSTYLE = &H40
Private Const BIF_RETURNFSANCESTORS = &H8
Private Const BIF_RETURNONLYFSDIRS = &H1
Private Const BIF_SHAREABLE = &H8000
Private Const BIF_STATUSTEXT = &H4
Private Const BIF_USENEWUI = &H40
Private Const BIF_VALIDATE = &H20
Sub BrowseForFolderShell()
Dim objShell As Object
Dim objFolder As Object
Dim strFolderFullPath As String
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(0, "Please select a folder", BIF_NEWDIALOGSTYLE Or BIF_USENEWUI, SpecFolders.CSIDL_PERSONAL)
If (Not objFolder Is Nothing) Then
On Error Resume Next
If IsError(objFolder.Items.Item.path) Then strFolderFullPath = CStr(objFolder): Goto GotIt
On Error Goto 0
If Len(objFolder.Items.Item.path) > 3 Then
strFolderFullPath = objFolder.Items.Item.path & Application.PathSeparator
Else
strFolderFullPath = objFolder.Items.Item.path
End If
Else
MsgBox "User cancelled": Goto Xit
End If
GotIt:
MsgBox "You selected:= " & strFolderFullPath, vbInformation, "ObjectFolder:= " & objFolder
Xit:
Set objFolder = Nothing
Set objShell = Nothing
End Sub