Объект FileSystemObject метод CopyFile

Объект FileSystemObject метод CopyFile Объектная модель Windows Script Host

Доброго дня всем читателям блога scriptcoding.ru. В этой статье мы научимся программировать, а также рассмотрим, как копировать файлы в Windows программным путём и вручную…

По сути, сначала мы рассмотрим, как копировать файлы на диск в Windows ручным методом с помощью комбинаций клавиш и мышки, потом рассмотрим метод объекта FileSystemObject – CopyFile, который позволяет программным путём копировать файлы на диск или в указанную директорию, а потом начнём программировать.

И так, как копировать вручную файлы на диск? Да всё предельно просто, в зависимости от того, сколько нам нужно копировать файлов, мы можем выделить мышью один или несколько документов, а потом перетянуть их в другую папку или диск, предварительно удерживая клавишу «Ctrl«, отпускаем левую кнопку мыши и всё, файлы скопированы. Второй способ – использование комбинации клавиш, снова выбираем нужные документы, нажимаем комбинацию «Ctrl + C«, потом открываем нужную папку или диск и нажимаем комбинацию «Ctrl + V«. Стоит помнить тот момент, что если мы попытаемся копировать файлы и вставить в одно и то же место (скопировали на диске "С" и туда же хотим снова вставить), то ошибки не произойдёт, система автоматически переименует вставляемые файлы, чтобы не возник конфликт имён.

Как копировать файлы на диск

как копировать файлы на диск
:)

CopyFile(source, destination [,overwrite]) – как видим методу передаются три параметра, при этом, последний не является обязательным.

  • source – данный параметр принимает строковое значение и указывает полный путь к файлу, который нужно скопировать, можно использовать подстановочные знаки: «?» – любой один символ и «*» – любое количество символов.
  • destination – опять таки, полный путь, куда будет скопирован файл, при чём, можно указать новое имя и расширение.
  • overwrite – если параметр установлен в логическое значение true – будет происходить замена, false – не производить замены (по умолчанию).

Хорошо, с теорией разобрались, теперь можно приступить к программированию. Для начала рассмотрим программный код на языке vbscript:

'**********************************************' Объект filesystemobject метод copyfile' Как копировать файлы на диск' copyfile.vbs'********************************************** OptionExplicit dim fso, new_folder ' создаем ссылку на объект Scripting.FileSystemObjectset fso=CreateObject ("Scripting.FileSystemObject"' создаем в текущей папке новый каталогset new_folder=fso.CreateFolder("Новая папка_vbs"' копируем текущий сценарий в новую папку под новым именемfso.CopyFile WScript.ScriptFullName, new_folder & "тест_vbs.txt" , true WScript.Echo "Процесс копирования завершен"

Давайте рассмотрим всё по пунктам. Сам сценарий производит создание папки «Новая папка_vbs» в текущем каталоге, для этого мы используем метод CreateFolder, после происходит копирование текущего файла (сценария) в созданную папку (метод CopyFolder класса FileSystemObject).

dim fso, new_folder – тут мы объявили переменные, fso – хранит ссылку на объект FileSystemObject, new_folder – хранит путь к новому каталогу.

set WshShell = CreateObject("Scripting.FileSystemObject ") – тут мы создаем ссылку на экземпляр объекта Wscript.Shell, тут мы используем стандартную функцию языка vbscript для создания ссылки на класс – CreateObject, также, как видим, фигурирует ключевое слово set. Объект нужен для использования метода CopyFile.

set new_folder=fso.CreateFolder("Новая папка_vbs") – тут происходит создание новой папки «Новая папка_vbs» с помощью метода CreateFolder, более детально, роботу данного метода я описал в статье «FileSystemObject метод CreateFolder«. Как копировать файл на диск.

fso.CopyFile WScript.ScriptFullName, new_folder & "тест_vbs.txt" , true – в данной строке мы производим процесс копирования текущего сценария в новый каталог, но уже под именем тест_vbs.txt. WScript.ScriptFullName содержит строку, которая определяет полный путь к текущему сценарию.

WScript.Echo "Процесс копирования завершен" – собственно, в самом конце мы выводим сообщение о завершении копирования.

Стоит обратить внимание, что я не включал проверку ошибок.

Скачать архив с примерами

Хорошо, теперь давайте рассмотрим аналогичный пример, но уже на языке jscript:

//**********************************************// Объект filesystemobject метод copyfile// Как копировать файлы на диск// copyfile.js//********************************************** var fso, new_folder; // создаем ссылку на объект Scripting.FileSystemObjectfso=WScript.CreateObject("Scripting.FileSystemObject"); // создаем в текущей папке новый каталогnew_folder=fso.CreateFolder("Новая папка_js"); // копируем текущий сценарий в новую папку под новым именемfso.CopyFile(WScript.ScriptFullName, new_folder +"\тест_js.txt",true); WScript.Echo("Процесс копирования завершен");

Тут я сделал некоторые изменения: изменил имя новой папки, имя конечного файла, в результате, произойдёт создание в текущей папке каталога «Новая папка_js», и копирование в нее текущего сценария, в итоге мы получим текстовый документ «тест_js.txt».

как программным путем копировать файлы на диск

И так, в этой статье мы рассмотрели, как копировать файлы на диск с помощью метода CopyFile класса FileSystemObject. Для реализации поставленной задачи мы программировали на языке vbscript и jscript.

Оцените статью
Технологии программирования и ведение блога
Добавить комментарий