VBS Удаление файлов в каталоге с помощью FileSystemObject с исключениями? - PullRequest
0 голосов
/ 18 февраля 2011

Я работаю с довольно привередливым программным обеспечением Oracle Business Intelligence, и у нас часто возникают проблемы, связанные с очисткой определенных данных в пользовательских системах и последующей синхронизацией с сервером для повторного извлечения данных.У меня есть скрипт vbs, над которым я работаю, который удаляет ключевые каталоги, переименовывает другие, останавливает службы и т. Д.

Я застрял в одном конкретном каталоге.Используя FileSystemObject, какой самый простой способ удалить каждый отдельный файл в каталоге, за исключением одной папки?

Итак, для этого конкретного примера у меня есть C: \ OracleBIData \ sync \ config

Где я хочу удалить все внутри каталога «sync», за исключением каталога config.Любой желающий?

Ответы [ 2 ]

1 голос
/ 22 февраля 2011

Фрагмент:

Option explicit

Const folderspec = "C:\OracleBIData\sync"
Const excludeFolder = "C:\OracleBIData\sync\config"

deleteSubFolders CreateObject("Scripting.FileSystemObject").GetFolder(folderspec), excludeFolder   

Public Sub deleteSubFolders(byRef MyFolder, exclFolder)
    Dim sf
    For Each sf in MyFolder.SubFolders
        If not (lCase(sf.Path) = lCase(exclFolder)) Then
            deleteSubFolders sf, exclFolder
            sf.Delete
        End If
    Next
End Sub

Не удаляет папки в папке excludeFolder.

0 голосов
/ 18 февраля 2011

Грубая сила - это все, что я могу придумать.

Пройдите через элемент каталога, но элемент и удалите его, если он не настроен. Или, если в этом каталоге много-много-много файлов, сначала выполните удаление *. , b . *, D *. * 25 раз, а затем просмотрите остальные элементы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...