Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Работа с е файловой системой (для студентов).doc
Скачиваний:
1
Добавлен:
10.08.2019
Размер:
217.6 Кб
Скачать

Удаление нескольких папок

Удалить несколько папок так же просто, как удалить одну папку, так как при этом используется тот же самый код сценария: подключение к FileSystemObject и последующий вызов метода DeleteFolder. Приведенный ниже сценарий DeleteMultiFolders.vbs является результатом внесения в CreateMultiFolders лишь трех изменений, реализующих удаление папок. Представьте себе, насколько удобно запустить сценарий CreateMultiFolders.vbs в начале учебного года и затем, по его окончании, запустить сценарий DeleteMultiFolders.vbs, внеся в исходный сценарий незначительные коррективы. В чем же заключаются эти коррективы? В секции заголовка и обращений не вносятся какие-либо изменения. В рабочей секции сценария удаляем "Set objFolder =" и затем заменяем CreateFolder на DeleteFolder. В секции вывода данных заменяем фразу folders created на folders deleted.

Option Explicit

Dim numFolders

Dim folderPath

Dim folderPrefix

Dim objFSO

Dim objFolder

Dim i

numFolders = 10

folderPath = "C:\"

folderPrefix = “TempUser"

For i = 1 To numFolders

Set objFSO = CreateObject("Scripting.FileSystemObject")

objFSO.DeleteFolder(folderPath & folderPrefix & i)

Next

WScript.Echo(i -1 &" folders deleted")

Присоединение к папке

Для получения информации о свойствах и атрибутах папки сначала необходимо присоединиться к папке. Так как объект файловой системы представляет папки в виде объектов СОМ (модель компонентного объекта), необходимо создать ссылку на них перед тем как к ним подключаться, т.е. присоединиться к ним. Как вы уже знаете, что для создания или удаления папки необходимо создать вхождение FileSystemObject После этого с помощью метода GetFolder происходит подключение к папке.

Несколько простых шагов

Чтобы присоединиться к папке

  1. Примените FileSystemObject с помощью команды CreateObject.

  2. Укажите путь к папке.

  3. С помощью ключевого слова Set присвойте путь переменной.

В следующем сценарии посредством команды CreateObject реализуется FileSystemObject. Далее используется метод GetFolder для присоединения к папке с именем fso, расположенной на диске С.

Set objFSO = CreateObject(“Scripting.filesystemobject")

Set objFolder = objFSO.getfolder("c:\fso")

WScript.Echo("folder is bound")

Существует ли папка?

Присоединение к папке – рутинная операция, однако что произойдет, если папка не существует? Если попытаться присоединиться к несуществующей папке, будет сгенерировано сообщение об ошибке, и сценарий в этом случае может дать сбой. Ошибки «Путь не найден» можно избежать посредством использования метода FolderExists. В сценарии CreateBasicFolder_checkFirst.vbs перед созданием новой папки выполняется проверка ее существования.

Применив в сценарии метод FolderExists для создания новых папок, вы получаете возможность удалить прежнюю папку перед созданием новой. Данный подход рассматривается на примере создания папок для студентов в начале нового учебного года. Кроме того, данный подход можно также использовать для создания папки, предназначенной для хранения журналов рабочей станции. При обнаружении прежней папки с журналами происходит ее удаление и освобождается место для новой папки. Если вы не хотите удалять папку, и если она существует, можно просто исключить команду DeleteFolder из сценария и изменить сообщение, отображаемое пользователю.

Set objFSO = CreateObject("Scripting.nieSystemObject"

If objFSO.FolderExists ("C:\fso") Then

WScript.Echo(“folder exists and will be deleted")

objFSO.DeleteFolder ("C:\fso")

WScript.Echo(“clean folder created")

Set objFolder = objFSO.CreateFolder("c:\fso")

Else

WScript.Echo(“folder does not exist and will be created")

Set objFolder = objFSO.CreateFolder("c:\fso")

End if