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

Копирование папок

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

Для копирования папок используется метод CopyFolder объекта FileSystemObject Важно понимать, что этот метод также копирует вложенные папки (в т.ч. пустые). Синтаксис метода CopyFolder таков:

Команда

Обязательный

Обязательный

Необязательный

параметр

Параметр

параметр

CopyFolder

Исходная папка

Конечная папка

overwrite

С овет. Как исходную, так и конечную папку можно указать либо с помощью локального пути, либо посредством пути UNC (Universal Naming Convention - Конвенция об универсальном назначении имен). Параметр overwrite является опциональным, он осуществляет запись поверх конечной папки, если для него установлено значение True (Истина).

В следующем сценарии выполняется копирование папки с именем fso, находящейся на диске С, в папку с именем fso1 на диске С. Важно заметить, что для успешного выполнения копирования папка не обязательно должна уже существовать.

Set objFSO = CreateObject("scripting.FileSystemObject")

objFSO.CopyFolder "c:\fso","C:\fso1"

Можно несколько облегчить работу со сценарием посредством использования переменных для хранения исходных и конечных папок. В сле­дующем сценарии, CopyFolderExtended.vbs, реализован именно этот подход. Кроме того, создана константа с именем overwriteFiles, которой присвоено значение True. Обратите внимание, что в следующем сценарии конечная папка с именем dFolder расположена в сетевом ресурсе. Сценарий CopyFolderExtended.vbs может использоваться сетевым администратором для копирования пользовательских данных с локального компьюте­ра на сетевой диск для консолидированного резервного копирования. Отрицательной стороной команды CopyFolder является то, что она не выводит какие-либо данные о своем состоянии, т.е. невозможно определить, работает команда или ее работа завершена. Для получения дополнительной информации можно использовать команды Now и Wscript.Echo, сообщающие о начале работы команды. Кроме того, по завершении операции копирования выводится еще одно сообщение о том, что копирование завершено, а также указывается время завершения операции.

Const OverWriteFiles = True

WScript.Echo(“beginning copy" & Now)

sFolder = "C:\Documents and Settings"

dFolder = "\\s2\fileBu"

Set objFSO = CreateObject ("Scripting.FileSystemObject")

objFSO.CopyFolder sFolder, dFolder, OverWriteFiles

WScript.Echo("ending copy" & Now)