VB Script Language/ActiveX

I need the below code to copy the file and when it does it is renaming it.  The only problem I need to modify it for a different project.  I needs to rename the file in the guard folder, but I won't know what the original filename is.  I tried doing a *.csv but that doesn't seem to work what would the correct syntax be?
'**********************************************************************
'  Visual Basic ActiveX Script
'************************************************************************
 
Function Main()
 
	dim fso
	dim d
	dim m
	dim y
 
	d = day(date)
	m = month(date)
	y =  year(date)
	
	if len(d) = 1 then d = "0" & d
	if len(m) = 1 then m = "0" & m
 
	set fso = createobject("Scripting.FileSystemObject")
 
	fso.Copyfile "C:\Clients\Strat\File Uploads\Customer Uploads\guard\test.csv", "C:\Clients\Strat\File Uploads\Customer Uploads\guard\guard.csv"
			
	Main = DTSTaskExecResult_Success
 
End Function

Open in new window

LVL 12
Nathan RileyFounderAsked:
Who is Participating?
 
sirbountyCommented:
sorry - try this...
'**********************************************************************
'  Visual Basic ActiveX Script
'************************************************************************
 
Function Main()
 
        dim fso
        dim d
        dim m
        dim y
 
        d = day(date)
        m = month(date)
        y =  year(date)
        
        if len(d) = 1 then d = "0" & d
        if len(m) = 1 then m = "0" & m
 
        set fso = createobject("Scripting.FileSystemObject")
        strFolder = "C:\Clients\Strat\File Uploads\Customer Uploads\guard\"
        For Each File in fso.GetFolder(strFolder).Files
          fso.Copyfile file, strFolder & "guard.csv"
        Next                      
        Main = DTSTaskExecResult_Success
 
End Function

Open in new window

0
 
sirbountyCommented:
rename to what?
This should do it if you're talking only one file...
'**********************************************************************
'  Visual Basic ActiveX Script
'************************************************************************
 
Function Main()
 
        dim fso
        dim d
        dim m
        dim y
 
        d = day(date)
        m = month(date)
        y =  year(date)
        
        if len(d) = 1 then d = "0" & d
        if len(m) = 1 then m = "0" & m
 
        set fso = createobject("Scripting.FileSystemObject")
        strFolder = "C:\Clients\Strat\File Uploads\Customer Uploads\guard\"
        For Each File in objFSO.GetFolder(strFolder).Files
          fso.Copyfile file, strFolder & "guard.csv"
        Next                      
        Main = DTSTaskExecResult_Success
 
End Function

Open in new window

0
 
Nathan RileyFounderAuthor Commented:
I want it renamed to guard.csv from whatever it is currently named in the guard folder.  That script gave me and error:

Error Source: Microsoft Data Transformation Services(DTS) Package

Error Description: Error Code: 0
Error Source= Microsoft VBScript runtime error
Error Description: Object required: 'objFSO'

Error on Line 20
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
Nathan RileyFounderAuthor Commented:
That renames the file, but the old file is still left there
0
 
sirbountyCommented:
Actually, if there are any files in that folder, this could get ugly...
Assuming you'll only have one CSV..use this:
'**********************************************************************
'  Visual Basic ActiveX Script
'************************************************************************
 
Function Main()
 
        dim fso
        dim d
        dim m
        dim y
 
        d = day(date)
        m = month(date)
        y =  year(date)
        
        if len(d) = 1 then d = "0" & d
        if len(m) = 1 then m = "0" & m
 
        set fso = createobject("Scripting.FileSystemObject")
        strFolder = "C:\Clients\Strat\File Uploads\Customer Uploads\guard\"
        For Each File in fso.GetFolder(strFolder).Files
          If lcase(fso.getextensionname(file.name)) = "csv" Then fso.Copyfile file, strFolder & "guard.csv"
        Next                      
        Main = DTSTaskExecResult_Success
 
End Function

Open in new window

0
 
sirbountyCommented:
Oh, if you're trying to simply rename, use .MoveFile, not .CopyFile...
0
 
Nathan RileyFounderAuthor Commented:
Works Great Thanks
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.