Пытается использовать VBScript для этого. У меня есть папка с несколькими файлами, которые включают имя сервера с расширением .vib. Все файлы отображаются какПоиск папки для файлов, содержащих имя и расширение сервера, затем выберите последний измененный файл и дату захвата в имени файла
servername.vm-<randomnumber><date>T<time>.vib
, например:
SERVERNAME.vm-255622016-08-31T040037.vib
Что мне нужно сделать, это захватить все файлы, которые содержат имясервера * .vib, а затем найти последний измененный файл в этом списке, затем вытащите дату из этого файла. Дата находится в формате xxxx-xx-xx и всегда отправляет T в имя файла и, похоже, находится в том же относительном месте.
До сих пор мне удалось приблизиться, используя this other question.
Однако у меня возникают проблемы с двумя вещами: поиск файлов, содержащих только имя сервера и получающих дату из самого файла.
Вот мой код до сих пор:
Set fso = CreateObject("Scripting.FileSystemObject")
Set list = CreateObject("ADOR.Recordset")
list.Fields.Append "name", 200, 255
list.Fields.Append "date", 7
list.Open
For Each f In fso.GetFolder("J:\Files").Files
If (fso.GetExtensionName(f) = "vib") And (fso.Contains(ServerName)) Then
list.AddNew
list("name").Value = f.Path
list("date").Value = f.DateLastModified
list.Update
End If
Next
list.Sort = "date DESC"
list.MoveFirst
WScript.Echo list("name").Value
list.Close
Если удалить fso.Contains(ServerName)
из If
заявления затем прогонов кода, и я получаю последний файл VIB. Я просто не могу понять, как тестировать имя сервера, содержащееся в файле, поэтому я получаю файлы, в которых есть имя сервера.
Я также зациклился на том, как вытащить дату из самого файла и не могу начать выяснять, с чего начать.
Удивительно, поэтому я получил его для работы с информацией, предоставленной для тестирования имени файла, я не понимал, что не могу делать с противником FSO. Но у меня возникли проблемы с извлечением даты с тем, что вы предоставили. К концу исходного сценария я получаю нужный мне файл и просто повторяю его. Мне нужна только дата для этого одного файла, но я не могу понять, как использовать регулярное выражение, чтобы просто получить дату из первого элемента списка. –
Похоже, я смог его получить. Я использовал WScript.Echo re.Execute (список («имя»). Значение) .Item (0) .Submatches (0) –