Это в основном тот же сценарий, что и в ответе на предыдущий вопрос.
Это просто делает что-то другое с датами.
Кроме того, он повторяет имена файлов, чтобы вы могли видеть, что он делает.
Сбой, если целевой файл уже существует.
Const IN_PATH = "path_to\directory"
Const OUT_PATH = "path_to\directory"
dim fso: set fso = CreateObject("Scripting.FileSystemObject")
if not fso.FolderExists(IN_PATH) then
err.raise 1,, "Path '" & IN_PATH & "' not found"
end if
if not fso.FolderExists(OUT_PATH) then
err.raise 1,, "Path '" & OUT_PATH & "' not found"
end if
dim infolder: set infolder = fso.GetFolder(IN_PATH)
dim file
for each file in infolder.files
dim name: name = file.Name
dim parts: parts = split(Name, ".")
' Look for a file format of nnnnnnnnnnnnnnnn.dddddddd.pdf
' where the first segment is (I don't care) and dddddddd is
' a date, encoded. for example 01232009 implies (January
' 23, 2009).
If UBound(parts) = 2 And parts(2) = "pdf" And Len(parts(1)) = 8 Then
' build a new name, re-arranging the date
dim newname: newname = parts(0) & "." & _
Mid(parts(1), 5, 4) & Mid(parts(1), 1, 4) & "." & parts(2)
' use the move() method to effect the rename
WScript.Echo Name & " ==> " & newname
file.move fso.buildpath(OUT_PATH, newname)
Else
WScript.Echo "Not renaming file: '" & name & "'"
End If
Next 'file