Option Explicit Main Sub Main() Dim oArgs, oShell, oFS, oFile, oReg, sKey, sNme, iCnt, iStep, s, i Set oShell = CreateObject("WScript.Shell") Set oArgs = WScript.Arguments Set oReg = New RegExp: oReg.IgnoreCase = False: oReg.Global = False Set oFS = CreateObject("Scripting.FileSystemObject") sKey = "HKEY_CURRENT_USER\SOFTWARE\VB and VBA Program Settings\renumber-drop-" If oArgs.Count = 0 Then s = "C:\Windows\System32\wscriptcopy.exe": If Not oFS.FileExists(s) Then s = "C:\Windows\System32\wscript.exe" s = InputBox("Reset to" & vbCrLf & "Number(,Step):", "renumber-drop", "10,10") i = InStr(s & ",", ",") oReg.Pattern = "^[0-9]{1,5}$" If oReg.Test(Left(s, i - 1)) Then oShell.RegWrite sKey & "num", CLng(Left(s, i - 1)), "REG_DWORD" If oReg.Test(Mid(s, i + 1)) Then oShell.RegWrite sKey & "step", CLng(Mid(s, i + 1)), "REG_DWORD" WScript.Quit End If On Error Resume Next iCnt = 10: iCnt = CLng(oShell.RegRead(sKey & "num")) iStep = 10: iStep = CLng(oShell.RegRead(sKey & "step")) Set oFile = Nothing: Set oFile = oFS.GetFile(oArgs(0)) If oFile Is Nothing Then Set oFile = oFS.GetFolder(oArgs(0)) If oFile Is Nothing Then MsgBox "Cannot do?!": WScript.Quit On Error GoTo 0 oShell.RegWrite sKey & "num", iCnt + iStep, "REG_DWORD" oReg.Pattern = "^[0-9]{1,5} " sNme = oFile.Name: If oReg.Test(sNme) Then sNme = Mid(sNme, InStr(sNme, " ") + 1) i = Len(iCnt & ""): If i < 3 Then i = 3 sNme = Right("000000" & iCnt, i) & " " & sNme If oFile.Name <> sNme Then oFile.Name = sNme End Sub