How to duplicate an existing file (QTP, VBScript)

Posted by Albert Gareev on Dec 15, 2009 | Categories: File System OperationsHow to

Parent page: Service Functions – System (QTP, VBScript)

How to duplicate an existing file

(If you want to access the file but it’s locked)


sFileName – name of the file to duplicate
sNewName – name of created file (generated automatically), pass-back argument.

Uses UniqueFilename function to generate a name for the duplicate file.

Public Function DuplicateFile(ByVal sFileName, ByRef sNewName)
Dim boolRC
Dim FSO, objFile
Dim sName, sPath
Set FSO = CreateObject("Scripting.FileSystemObject")

'Verify source file exists
boolRC = FSO.FileExists(sFileName)
If Not boolRC Then
Set FSO = Nothing
DuplicateFile = FALSE
Exit Function
End If

'Separate filename and filepath
Set objFile = FSO.GetFile(sFileName)
sName = objFile.Name
sPath = objFile.Path
sPath = Left(sPath, Len(sPath)-Len(sName))
Set objFile = Nothing

'Generate unique name for the dup file
sNewName = sPath & "\" _
_ & UniqueFilename(sName, sPath, AssociateParameters("prefix = dup, index = 100"))

'Copy file
FSO.CopyFile sFileName, sNewName

Set FSO = Nothing
DuplicateFile = TRUE
End Function

  • Leave a Reply

    * Required
    ** Your Email is never shared

Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported
This work by Albert Gareev is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported.