Hola,
Visual, para esto, tiene la función FileCopy
FileCopy "C:\cesar\Archivo.jpg", "D:\Fotos\Archivo.jpg"
Otra opción es usar la función Api CopyFile. La ventaja, es que la anterior no funciona cuando el archivo está abierto y puede dar errores.
Para utilizarla, primero debes declararla. En el caso del ejemplo, se hizo en un módulo para hacerla pública.
Public Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long
Se usa en forma muy similar.
CopyFile "C:\cesar\Archivo.jpg", "D:\Fotos\Archivo.jpg",0
el último parámetro (0) es para que copie a pesar de estar el archivo bloqueado.
Bueno, espero te sirva.
Salu2.