Нужно знать, как пропустить подпапку в 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