Нужно знать, как пропустить подпапку в VBScripit

Я ужасно пишу на VBScript, и у меня есть вопрос, который должен быть довольно простым для тех, кто имеет опыт написания кода на VBScript. У меня есть файл сценария, который анализирует файловую систему, начиная с указанного каталога, а затем выполняет рекурсивный поиск по каждой подпапке. Имена файлов, имя пути и дата изменения затем отправляются в хранимую процедуру SQL, которая записывает данные в таблицу. Это работает, как описано, но мне нужно включить фильтр в сценарии, чтобы сказать сценарию игнорировать любые пути, заканчивающиеся на PDF_IMAGES\ или TIF_IMAGES. Я не хочу ничего обрабатывать в этих папках или подпапках в этих папках. Вот фрагмент того, что я имею до сих пор:

Const startDir = "\\myfileshare\images"

'Variables
Dim objFSO, strFolder, subFolder

'Use the FileSystemObject to search directories and create the text file.
Set objFSO = CreateObject("Scripting.FileSystemObject")

'Call the Search subroutine to start the recursive search.
Search objFSO.GetFolder(startDir)

Sub Search(sPath)

    'Assign the value of sPath to the strFolder variable.
    strFolder = sPath

    'Use undeclared variable to run function
    strReturnFileNames = FindLatestFileMatchingRegex(strFolder & "\", "*.*" ) 

    strFolder = ""

    'Find EACH SUBFOLDER.
    For Each subFolder In sPath.SubFolders
        'Call the Search subroutine to start the recursive search on EACH SUBFOLDER.
        Search objFSO.GetFolder(subFolder.Path)
    Next
End Sub

Любая помощь будет оценена.

1 ответ

Решение
Right(subFolder.Path, 7)

даст вам последние шесть символов пути. Затем вам нужно сравнить их с _IMAGES. Вы можете использовать StrComp для этого

StrComp("_IMAGES", path)

Это даст вам 0, если они идентичны. Таким образом, что-то вроде этого (не проверено) даст вам идею.

If Not StrComp("_IMAGES", Right(subFolder.Path, 7)) = 0 then
Search objFSO.GetFolder(subFolder.Path)
End If

Вот полезная ссылка для заполнения пробелов.

Я вообще не скучаю по vbscript

Другие вопросы по тегам