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

Секция заголовка

Секция заголовка сценария CreateMultiFilder.vbs начинается с выражения Option Explicit, обеспечивающего отсутствие необъявленных или ошибочно использованных переменных. Далее происходит объявление шести переменных, используемых в сценарии. Первая переменная с именем numFolders содержит набор папок, который необходимо создать. Следующая переменная, folderPath, указывает расположение, в котором будут создаваться папки. В данном случае 10 папок будут созданы не в корневом каталоге диска С, однако эти значения не присваиваются до секции обращений. Следующая переменная - folderPrefix. В данном сценарии происходит присвоение слова или набора символов, который будет использоваться VBScript для начала процесса создания папок. Преимущество этого подхода заключается в том, что в дальнейшем можно будет легко изменить этот префикс. Переменная objFSO содержит соединение с объектом FileSystemObject, a objFolder содержит ссылку на команду CreateFolder. Последняя переменная - i; она используется как простой счетчик.

Как видите, в коде сценария отсутствует выражение On Error Resume Next При изменении или перемещении данных рекомендуется разрешить возникновение ошибок для остановки сценария, во избежание повреждения данных в случае неполадки.

Секция обращений

В секции обращений данного сценария происходит присвоение значений некоторым переменным, объявленным в секции заголовка. NumFolders содержит набор папок, которые необходимо создать. FolderPath используется командой CreateFolder при создании папок. FolderPrefix присвоено значение TempUser, являющееся префиксом каждой из создаваемых папок.

Рабочая секция

Рабочая секция сценария начинается с цикла For...Next. В этой секции ис­пользуется счетчик i для учета числа создаваемых папок. Количество создаваемых папок хранится в качестве значения переменной numFolders. В любой момент времени создано i папок. Этот счетчик фиксирует любое число между 1 и NumFolders (включительно).

Во второй строке рабочей секции сценария используется команда CreateObject для создания вхождения объекта FileSystemObject Эта строка в точности повторяет аналогичный код, использованный в сценариях предыдущего раздела.

Каждый раз, когда возникает необходимость в создании вхождения класса FileSystemObject, синтаксис будет один и тот же:

CreateObject("Scripting.RleSystemObject"). В большей части сценариев будет использоваться ссылка на FileSystemObject t, приравненная к objFSO (хотя переменную можно назвать как угодно).

Третья строка рабочей секции сценария CreateMultiFolder.vbs предназначена для непосредственного создания файлов. Обратите внимание на синтаксис этой команды:

CreateFolder{folderPath)

В сценарии происходит конкатенация folderPath с folderPrefix и числом счетчика. Это позволяет повторно использовать сценарий в различных целях. В нашем примере мы создаем 10 папок с именами TempUserl... TempUserl0. Можно было бы легко заменить folderPrefix на ch и затем создать папки с именами chl...chl0. В учебном заведении было бы уместно присвоить папкам имена studentl...studentl0. Изменив значение i, можно создать 10000 или более папок так же просто, как 10 папок. Как видите, с помощью класса FileSystemObject действительно легко создавать папки. Кроме того, этот подход позволяет экономить многие часы, которые в противном случае пришлось бы потратить на различные рутинные операции. Тем не менее, основным преимуществом является то, что после написания и тестирования сценария его можно использовать для выполнения повторяющихся операций. Операции повторяются при каждом запуске сценария.

For i = 1 То numFolders

Set objFSO = CreateObject(“Scripting. FileSystemObject ")

Set objFolder = objFSO.CreateFolder(FolderPath & folderPrefix & i)

Next

Секция вывода информации

После создания папок необходимо удостовериться, что данная процедура выполнена успешно. В нашем сценарии с помощью команды WScript.Echo мы убеждаемся в успешном завершении сценария. В качестве счетчика мы используем i-1, т.к. значение увеличивается на единицу перед командой Echo. Это показано на следующем примере:

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

Автоматическое удаление

Одним из преимуществ сценария, предназначенного для создания папок, является то, что его можно модифицировать для последующего уда­ления папок. Смысл этого заключается в том, что применение сценария для создания папок и последующее использование этого же сценария для их удаления позволяет реализовать автоматическое удаление папок после выполнения всех необходимых операций.

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

Чтобы удалить папку

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

  2. Удалите папку с помощью команды DeleteFolder.

Удаление папки

Удаление папки требует наличия подключения к объекту FileSystemObject. Как только подключение к FileSystemObject установлено, применяется команда DeleteFolder для удаления папки. Это показано на примере следующего сценария — DeleteBasicFolder.vbs. Обратите внимание на то, что большое различие между созданием и удалением папки заключается в том, что строка, в которой происходит удаление папки, не начинается с команды Set. Вместо команды Set просто указывается objFSO с командой DeleteFolder и путь к удаляемой папке.

Set objFSO = CreateObject("Scripting. FileSystemObject")

objFSO. DeleteFolder("c:\fso")