Set fso = CreateObject("Scripting.FileSystemObject")
Set re  = New RegExp

re.Pattern =  "[\t]" 
re.IgnoreCase = True
re.Global = True


If WScript.Arguments.Unnamed.Count = 1 Then
  If fso.FileExists(WScript.Arguments.Unnamed(0)) Then
	Dim f1, f2, fileName
	fileName = cstr(WScript.Arguments.Unnamed(0))
	Set f1 = fso.OpenTextFile(fileName)
			
	Set f2 = fso.CreateTextFile(GetNewFileName(fileName), True)
	ReplaceCharacters f1, f2
  Else
    WScript.Echo "File not found."
  End If
Else
  WScript.Echo "Please provide a file name as argument 1."
End If

'Returns a string representing the name of the new file
Function GetNewFileName (fileName)
	Set fileNameRegex  = New RegExp
	fileNameRegex.Pattern =  ".ofx" 
	fileNameRegex.IgnoreCase = True
	fileNameRegex.Global = True

	GetNewFileName = fileNameRegex.Replace(fileName, CurrentDateTime + ".ofx") 
End Function

' Returns the a string of the current date and time
Function CurrentDateTime
	Dim currentDate, year, month, day
	Dim hour, minute, second
	Dim	dateString 
	currentDate = Now

	year 	= CStr(DatePart("yyyy", currentDate))
	month 	= PadDatePart( CStr(DatePart("m", currentDate)))
	day 	= PadDatePart( CStr(DatePart("d", currentDate)))	
	hour 	= PadDatePart( CStr(DatePart("h", currentDate)))
	minute 	= PadDatePart( CStr(DatePart("n", currentDate)))
	second 	= PadDatePart( CStr(DatePart("s", currentDate)))

	dateString = year + month + day + "_" + hour + minute + second
		
	CurrentDateTime = dateString
End Function

'Pad the given date part to two characters
Function PadDatePart(datePartStr)
	If(Len(datePartStr) < 2) Then
		PadDatePart = "0" + datePartStr
	Else
		PadDatePart = datePartStr
	End If
	
End Function

'Replace the invalid characters
Sub ReplaceCharacters(f1, f2)
	Do While f1.AtEndOfStream = False
		f2.WriteLine(re.Replace(f1.ReadLine, ""))
	Loop	
	f2.Close
End Sub