動作確認のためのテスト用PDFファイルを連番ファイル名で1000個作る必要があったので、VBScriptでやってみた。
連番deCopy.vbs
' 選択したファイルをこのスクリプトファイルに直接ドラッグするか、あるいは
' このスクリプトファイルを SendToフォルダに入れて、選択したファイルの
' 右クリックメニューで[送る]から実行する
Option Explicit
Dim file0, fName, startNum, lastNum, digit, padding, ext, i
file0 = WScript.Arguments(0)
fName = GetInput("連番より前のファイル名を入力してください。")
startNum = CLng(GetInput("連番の開始番号を入力してください。"))
lastNum = CLng(GetInput("連番の終了番号を入力してください。"))
digit = CLng(GetInput("連番の桁数を入力してください。"))
padding = String(digit, "0")
With CreateObject("Scripting.FileSystemObject")
ext = "." & .GetExtensionName(file0)
For i = startNum To lastNum
.CopyFile file0, .BuildPath(.GetParentFolderName(file0), fName & Right(padding & i, digit) & ext)
Next
End With
'// InputBox の入力値を返す
Function GetInput(ByVal msg)
Dim val
val = InputBox(msg)
If IsEmpty(val) Then MsgBox("キャンセルされました。"): WScript.Quit
If val = "" Then MsgBox "何も入力されていません。": WScript.Quit
GetInput = val
End Function