Новое сообщение
Сообщения темы 'VBS - запись названий файлов в текстовый файл'
Фильтр:
содержит
Сортировка
|
| 12.09.2016 09:15
Работает :)
Спасибо!
|
|
| gliba 20.10.2007 20:44 Иногда возникает необходимость записать названия файлов в директории и всех поддиректориях в файл. Если Вы работаете под Windows, то можно воспользоваться скриптовым Visual Basic. Код в VBS иллюстрирует этот подход.
Код
'запись sData в файл 'log.txt'
Sub log(sData)
Dim ts, ForAppending
ForAppending = 8
Set ts = fso.OpenTextFile("log.txt", ForAppending, True)
ts.Write sData & chr(13) & chr(10)
ts.Close
End Sub
'обработка директории
Sub processDir( folder )
log( folder.Path )
dim file, subfolder
For Each file in folder.Files
log( file.Path )
i = i + 1
next
For Each subfolder in folder.SubFolders
processDir( subfolder )
Next
End Sub
dim fso, dirStart, folder, subfolder, file, i
'стартовая директория
dirStart = "C:LTS_Build_HabFilesToInstall"
Set fso = CreateObject("Scripting.FileSystemObject")
set folder = fso.GetFolder( dirStart )
i = 0
processDir(folder)
MsgBox "записано " & i
Set fso = nothing
КомментарииОпределяем стартовую директорию dirStart. Создаем объект для работы с файловой системой fso. Вызываем подпрограмму processDir. Она печатает имена файлов из текущей директории и рекурсивно вызывает себя для каждой поддиректории. Подпрограмма log окрывает файл 'log.txt', печатает свой параметр в его конец, закрывает файл. Это сделано для надежности, более быстрый вариант - открыть файл заранее. Закрываем объект для работы с файловой системой.
Код сохраняем в файле с расширением VBS. Двойной клик мышкой и список готов. |
Наверх