Мне нужно переименовать файлы в папке на основе значений, которые я создал в массиве. Я сталкиваюсь с проблемами, потому что я не уверен, как объявить ту часть файла, которую нужно переименовать.
Файлы выглядят так: Xnnnnnnnnnnnnnn_stmt-n.pdf, где n = любое число от 0 до 9. То, что я пытаюсь сделать, это посмотреть на часть значения n, которая идет после stmt, и переименовать ее в набор значений массива, который я уже объявил. Значение n может быть где угодно от 1 до 400. Я хочу, чтобы скрипт сказал, что если n = значение массива, то переименуйте эту часть файла в значение массива.
Вот несколько примеров значений массива, которые я создал. 1 = "aa" 2 = "ab" 3 = "ac" ... 50 = "bx" .. 150 = "fv" .... вплоть до 400 = "ql".
Вот код, который я до сих пор не выполняю:
Const INPATH = "\folder"
Const OUTPATH = "\folder"
' check that the directories exist.
dim fso: set fso = CreateObject("Scripting.FileSystemObject")
if not fso.FolderExists(INPATH) then
err.raise 1,, "Path '" & INPATH & "' not found"
end if
if not fso.FolderExists(OUTPATH) then
err.raise 1,, "Path '" & OUTPATH & "' not found"
end if
dim Array(400)
Array(0)=" "
Array(1)="aa"
Array(2)="ab" ' this would continue until 400
Array(400)="ql"
dim infolder: set infolder = fso.GetFolder(INPATH)
dim file
for each file in infolder.files
dim name: name = file.name
dim parts: parts = split(name, ".")
dim nanname: nanname = left(parts(0), 21)
dim value: value = right(parts(0), 1)
dim newname
dim newvalue
if value = 1 then newvalue = Array(1)
if value = 2 then newvalue = Array(2)
if value = 400 then newvalue = Array(400)
newname = nanname & newvalue & "." & parts(2) 'parts 2=pdf
file.move fso.buildpath(OUTPATH & newname)
endif
next
Одна из основных проблем, с которыми я сталкиваюсь, - это попытка найти способ объявить 'значение', потому что часть значения имени файла может быть любым числом 1-400. Любые идеи или помощь будут оценены.