VBS/WSH. Сортировка файлов по дате.
Доброго времени суток.
Может быть у кого-то есть скрипт для решения следующей задачи:
SQL Server создает бэкапы в папку Backup. Полный бэкап в 00.05 каждый день (расширение full) и часовые бэкапы в 35 минут каждого часа (расширение trl). Для восстановления требуется восстановить последний .full-файл, после чего последовательно накатить .trl (т.е. созданные в 00.35, 01.35, 02.35 и т.д., до последнего файла). Вопрос в следующем - как отсортировать файлы по дате? Т.е. так, что бы получился массив имен файлов, в котором имена располагаются по дате создания.
|
rancid, так поделитесь решением, иначе пометка решенной не имеет смысла.
|
Код:
WorkDir="E:\BackUp\"
set fso = createobject("scripting.filesystemobject")
set sha = createobject("shell.application")
set dir = sha.namespace(WorkDir)
set arr = dir.items
arr.filter 192, "*.full"
for i = 0 to arr.count - 1
if i = 0 then
set fnewest = fso.getfile(arr.item(i).path)
else
if fnewest.datecreated < fso.getfile(arr.item(i).path).datecreated then
set fnewest = fso.getfile(arr.item(i).path) 'получаем последний полный бэкап
end if
end if
next
set narr = dir.items
narr.filter 192, "*.trl"
for i = 0 to narr.count - 2
for j = i+1 to narr.count - 1
set min = narr.item(i).path
set num = i
if min.datecreated > fso.getfile(narr.item(j).path).datecreated then
set min = narr.item(j) 'сортируем часовые бэкапы по дате создания
set num = j
end if
next
set narr.item(num) = narr.item(i)
set narr.item(i) = num
next
Решение, наверное, не красивое, но действенное:). На выходе - fnewest содержит путь к последнему файлу с расширением .full, массив narr содержит отсортированный по дате создания список файлов с расширением full.
|
Время: 05:38.
© OSzone.net 2001-