Results 1 to 5 of 5

Thread: [VB6] FileCopy help

Hybrid View

  1. #1

    Thread Starter
    Fanatic Member neicedover1982's Avatar
    Join Date
    Jun 2005
    Posts
    566

    [VB6] FileCopy help

    Hi, I copied this code right off of a website and I am still getting errors. I have 2 folders, each containing some files and other folders with files. I want to copy one entire directory and replace the other.

    The code I have is as follows.
    VB Code:
    1. Dim orig_path, new_path As String
    2.     orig_path = App.Path & "/Support_Files/Blank_Profile/*.*"
    3.     new_path = App.Path & "/Profile/Profile/*.*"
    4.     FileCopy orig_path, new_path
    5.     MsgBox ("done")

    I get an error on the FileCopy line. I am trying to copy files and other directorys, so the actual list from the Blank_Profile looks like so;
    Blank_Profile/profile.ini
    Blank_Profile/home_base.ini
    Blank_Profile/Ship_1/information.ini
    Blank_Profile/Ship_2/information.ini
    I need to copy all the files as well as the folders ship_1 and the files inside. There are more files but this is just an example. I read you can copy the contents of a directory but none of the code I have works. Please help.
    Kevin | New England Iced Over | http://www.kevincawleyjr.com

  2. #2
    Retired G&G Mod NoteMe's Avatar
    Join Date
    Oct 2002
    Location
    @ Opera Software
    Posts
    10,190

    Re: [VB6] FileCopy help

    I moved your thread, since it actualy doesn't have anything to do with game or graphics programming...



    - ØØ -

  3. #3
    Banned dglienna's Avatar
    Join Date
    Jun 2004
    Location
    Center of it all
    Posts
    17,901

    Re: [VB6] FileCopy help

    If you use the XCOPY command from DOS, it will copy folders. You'd have to shell it.

  4. #4
    Frenzied Member pnish's Avatar
    Join Date
    Aug 2002
    Location
    Tassie, Oz
    Posts
    1,918

    Re: [VB6] FileCopy help

    Try using the FileSystemObject, ie set a reference to Microsoft Scripting Runtime. I'm pretty sure it copies folders & files. eg
    VB Code:
    1. Dim fs As New FileSystemObject
    2.     Dim orig_path As String, new_path As String
    3.    
    4.     orig_path = App.Path & "/Support_Files/Blank_Profile/*.*"
    5.     new_path = App.Path & "/Profile/Profile/"
    6.    
    7.     fs.CopyFolder orig_path, new_path
    8.  
    9.     Set fs = Nothing
    Note that you don't need the wildcards in the destination path.
    Pete

    No trees were harmed in the making of this post, however a large number of electrons were greatly inconvenienced.

  5. #5
    I'm about to be a PowerPoster! Hack's Avatar
    Join Date
    Aug 2001
    Location
    Searching for mendhak
    Posts
    58,333

    Re: [VB6] FileCopy help

    VB Code:
    1. Private Type SHFILEOPSTRUCT
    2.     hWnd As Long
    3.     wFunc As Long
    4.     pFrom As String
    5.     pTo As String
    6.     fFlags As Integer
    7.     fAborted As Boolean
    8.     hNameMaps As Long
    9.     sProgress As String
    10. End Type
    11.  
    12. Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
    13.  
    14. Const FOF_NOCONFIRMATION = &H10 ' Don't prompt the user.
    15. Const FOF_NOCONFIRMMKDIR = &H200 ' don't confirm making any needed dirs
    16. Const FO_COPY = &H2
    17.  
    18. Private Function NuCopy(source As String, target As String) As Boolean
    19. 'Nucleus
    20. 'Copy file(s)/directories from source to destination
    21. 'In path of source either file(s) or folder and path of target as folder
    22. 'Out: Boolean indicating success
    23. If Right(source, 1) = "\" Then source = Left(source, Len(source) - 1)
    24. If Len(Dir$(target, vbDirectory)) <> 0 And (Len(Dir$(source, vbDirectory)) <> 0 Or Len(Dir$(target, vbDirectory)) <> 0) Then
    25.     Dim SHFileOp As SHFILEOPSTRUCT  ' structure to pass to the function
    26.     With SHFileOp
    27.         .wFunc = FO_COPY
    28.         .pFrom = source
    29.         .pTo = target
    30.         .fFlags = FOF_NOCONFIRMATION Or FOF_NOCONFIRMMKDIR
    31.     End With
    32.     NuCopy = (SHFileOperation(SHFileOp) = 0)
    33. End If
    34. End Function

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width