Option Explicit Main Sub Main Dim oFolder, oFile, fs, lngNumber Set fs = CreateObject("Scripting.FileSystemObject") If Wscript.Arguments.Count <> 1 Then Exit Sub If Not fs.FileExists(WScript.Arguments(0)) Then Exit Sub Set oFolder = fs.GetFolder(fs.GetParentFolderName(WScript.Arguments(0))) Set oFile = fs.GetFile(WScript.Arguments(0)) lngNumber = HighestNumber(oFolder) oFile.Name = Right("0000" & Cstr(lngNumber + 10), 4) & "-" & oFile.Name End Sub Function HighestNumber(objFolder) Dim fils, fil, fols, fol, lngNumber, strName On Error Resume Next 'Get each file in turn lngNumber = 0 Set fils = objFolder.Files If Err.Number = 0 Then For Each fil In fils strName = fil.Name If Len(strName) > 10 Then If Mid(strName, 5, 1) = "-" Then If IsNumeric(Left(strName, 4)) Then If CLng(Left(strName, 4)) > lngNumber Then lngNumber = CLng(Left(strName, 4)) End If End If End If End If Next End If HighestNumber = lngNumber End Function Sub Status(strMessage) If Lcase(Right(Wscript.FullName, 12)) = "\cscript.exe" Then Wscript.Echo strMessage End If End Sub