Главная > WSH скрипты > Рекурсивный список подкатологов и файлов в текстовый лог
Рекурсивный список подкатологов и файлов в текстовый лог8 ноября 2012. Разместил: dimon |
В файл записываем список подкаталогов и файлов с рекурсивным просмотром каталогов.
'---------------------------------------------------------------------- ' ' Copyright (c) All rights reserved. ' ' ' AUTHOR: tudimon.com ' DATE: 07.11.2012 ' NAME: SubFolderList_v2.vbs ' ' COMMENT: ' ' В файл записывается рекрсивный список всех папок и файлов в указанном каталоге. ' ' '---------------------------------------------------------------------- StartPath = "C:\Downloads" ' Стартовая папка, просматриваем вложенные в нее папки первого уровня (без слэша на конце) LogFilePath = "c:\SubFolderFiles_log.log" ' лог-файл LogTXT = "" ' переменная для записи в лог '---------------------------------------------------------------------- LogTXT = LogTXT & vbNewLine & "******************** " & Now & " ********************" ' вызовем процедуру просмотра SeeInFolder (StartPath) ' Пишем лог Set FSO = CreateObject("Scripting.FileSystemObject") Set LogFile = FSO.OpenTextFile(LogFilePath, 8, True) LogTXT = LogTXT & vbNewLine & "*************************************************************" LogFile.WriteLine LogTXT LogFile.Close '------------------------------------------------------------------------------- '--------------------------------- ФУНКЦИИ ------------------------------------- '------------------------------------------------------------------------------- ' функция просмотра каталога Function SeeInFolder(dir) ' смотрим есть ли директории ' есть - идем внутрь первой ' нет - проверяем файлы dirLevel = dirLevel + 1 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder(dir) Set colSubfolders = objFolder.Subfolders Set colfiles = objFolder.Files If objFolder.SubFolders.Count <> 0 Then For Each f1 In colSubfolders SubFEx = "1" LogTXT = LogTXT & vbNewLine & f1.Path & "\" SeeInFolder (f1.Path) Next end if ' смотрим файлы ShowFileList (dir) dirLevel = dirLevel - 1 End Function '------------------------------------------------------------------------------- ' функция обрабатывает файлы в папке dir Function ShowFileList(dir) Set FSO = CreateObject("Scripting.FileSystemObject") Set fld = FSO.GetFolder(dir) Set fc = fld.Files For Each f1 In fc ' имя и путь до файла filePathName = dir & "\" & f1.Name LogTXT = LogTXT & vbNewLine & filePathName Next End Function '------------------------------------------------------------------------------- WScript.Quit 0 Вернуться назад |