2013-05-15 3 views
1

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

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, если они идентичны. Так что что-то вроде этого (untested) даст вам эту идею.

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

Вот helpful reference, чтобы заполнить пробелы.

Я не скучаю по VBScript на всех

+0

Я предпочитаю 'Право (subFolder.Name, 7) <> "_IMAGES"'. –

+0

Это легче читать наверняка –

+0

Отлично. Спасибо. –