Тема: VBS: как сделать перебор файлов в папке по времени?
Обычно скрипт перебирает файлы в папке по алфавиту. А как сделать чтоб перебирал по времени (сначала старые), по расширению?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Серый форум → Общение → Windows Script Host, HTA (VBScript, JScript) → VBS: как сделать перебор файлов в папке по времени?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Обычно скрипт перебирает файлы в папке по алфавиту. А как сделать чтоб перебирал по времени (сначала старые), по расширению?
Средствами WSH — не припоминаю такого. Либо использовать посредником сторонние средства (LogParser, командный процессор), либо получать весь список, затем сортировать его. Рекомендую использовать LogParser.
griha09
См. здесь.
Flasher, спасибо за желание помочь, но с массивами совсем не дружу, все вот желаю подружится, да все некогда
Насколько понял мысль - загнать файлы в массив и там отсортировать по времени. Но самому реализовать мне это не реально, могли бы помочь в этом вопросе?
У меня вообще такая задача: есть скрипт который читает title из htm-файлов и переименовывает их в №+title, но просмотр папки идет по алфавиту, а хотелось бы по времени.
Не в массив. В отсоединённый набор записей (для простоты понимания — в таблицу базы данных, не имеющую файлового представления, только в памяти). В примере массив выступает только как исходный материал, который подвергается сортировке. У Вас же исходным материалом будет путь к файлу и дата/время:
Option Explicit
Const adDate = 7
Const adVarChar = 200
Dim strFolder
Dim objFSO
Dim objFile
strFolder = "C:\Temp"
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(strFolder) Then
With WScript.CreateObject("ADODB.Recordset")
With .Fields
.Append "Path", adVarChar, 2^15 - 1
.Append "DateLastModified", adDate
End With
.Open
.Sort = "DateLastModified DESC"
For Each objFile In objFSO.GetFolder(strFolder).Files
.AddNew Array("Path", "DateLastModified"), Array(objFile.Path, objFile.DateLastModified)
Next
.MoveFirst
Do Until .EOF
With .Fields
WScript.Echo .Item("DateLastModified").Value, vbTab, .Item("Path").Value
End With
.MoveNext
Loop
.Close
End With
Else
WScript.Echo "Can't find folder [" & strFolder & "]"
End If
WScript.Quit 02 alexii - решение КЛАСС !
- ПРОШУ В КОЛЛЕКЦИЮ !!!
Круто! Спасибо, буду разбираться.
Добавил в Коллекцию: VBScript: получение отсортированного списка файлов каталога.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться