Отправляет email-рассылки с помощью сервиса Sendsay

Секреты программирования

  Все выпуски  

Секреты программирования - запись названий файлов в текстовый файл


Уважаемые подписчики!

Сегодняшняя тема - запись названий файлов в текстовый файл.
Иногда возникает необходимость записать названия файлов в директории и всех поддиректориях в файл. Если Вы работаете под 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_Hab\FilesToInstall"

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. Двойной клик мышкой и список готов.

Для улучшения "обратной связи" приглашаю обсудить рассылку на форуме сайта http://www.pvobr.ru в разделе "Программирование". Пишите также, какие темы вы хотите рассмотреть в будущем.

Успехов! Андрей

ЗЫ
Сказано мастером-программистом:
"Без ветра трава неподвижна. Без программ компьютеры бесполезны."
[C] James Geoffrey

В избранное