Объект FileSystemObject методы CreateFolder и MoveFolder — Как создать новую папку и переместить ее

Объект FileSystemObject методы CreateFolder и MoveFolder — Как создать новую папку и переместить ее Объектная модель Windows Script Host

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

И так, как создать новую папку? Если мы хотим создать новую папку в другом каталоге, на диске или рабочем столе, то можно просто нажать по пустой области правой кнопкой мыши и из контекстного меню выбрать пункт «Создать/Папку«. В итоге, в указанном месте появится новый каталог с именем Новая папка. Если мы работает с редактором Total Commander, то тут, что бы создать новую папку достаточно нажать клавишу F7, ввести название и вёе, работа сделана.

Как создать новую папку

Теперь давайте перейдем к программированию, точнее к объекту FileSystemObject и двум его методам:

CreateFolder(foldername) – Метод показывает, как создать новую папку, в качестве параметра мы указываем имя или полный путь к новому каталогу. Если просто указать имя каталога, то он создастся в текущей папке (откуда был запущен сценарий). Важно, если произойдет попытка создать новую папку с именем, с каким уже есть директория, то произойдёт ошибка.

MoveFolder(source,  destination) – Собственно, метод отвечает за перемещение одного или группы каталогов. Видим, что ему передаются два параметра:

  • source – путь к папке, которую нужно переместить, можно использовать подстановочные знаки «?» – любой один символ или «*» – любое количество символов. В случае использования подстановочных знаков, мы можем переместить сразу несколько каталогов.
  • destination – путь к каталогу, в который должно производиться перемещение.

Хорошо, с теорией разобрались, теперь можно приступить к программированию. Напишем два сценария, один на языке vbscript, а другой на языке jscript. Их задача – показать, как создать новую папку, потом создать еще девять директорий и используя подстановочные знаки переместить их в ранее созданную директорию.

'**********************************************' Объект FileSystemObject методы CreateFolder и MoveFolder' Как создать новую папку и переместить ее' CreateFolder.vbs'********************************************** OptionExplicit dim fso, new_folder, new_sub_folder, idim WshShell, cur_dir ' формируем ссылку на объектset WshShell = CreateObject("WScript.Shell"' текущий каталогcur_dir = WshShell.CurrentDirectory ' создаем ссылку на объект Scripting.FileSystemObjectset fso=CreateObject ("Scripting.FileSystemObject"' создаем в текущей папке новый каталогset new_folder=fso.CreateFolder("Новый каталог_vbs"' циклично сздаем 9 папокfor i=1 to 9     set new_sub_folder=fso.CreateFolder(i &"_папка")next WScript.Echo "Проверьте содержимое текущего каталога" ' перемещаем 9 папок в другой каталогfso.MoveFolder cur_dir & "?_папка", new_folder WScript.Echo "Процесс перемещения завершен"

Давайте рассмотрим логику программного кода:

Сначала мы подключаем объект WScript.Shell, который нам нужен для получения пути к текущей директории. Путь будет храниться в переменной cur_dir, для получения пути мы используем свойство CurrentDirectory.

как создать программно новую папку

Далее происходит подключение объекта FileSystemObject, он позволит нам использовать метод CreateFolder, что бы показать, как можно создать новую папку с именем «Новый каталог_vbs» в текущей директории.

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

Далее мы используем цикл for (более детально я описал логику его работы в статье Урок_6_Циклы vbscript). Цикл содержит 9 итераций, то есть, будет создано 9 каталогов в текущей папке.

Ну и наконец, мы используем подстановочные знаки в методе MoveFolder для перемещения 9 папок в одну заданную.

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

//**********************************************// Объект FileSystemObject методы CreateFolder и MoveFolder// Как создать новую папку и переместить ее// CreateFolder.js//********************************************** var fso, new_folder, new_sub_folder, i;var WshShell, cur_dir; // формируем ссылку на объектWshShell = WScript.CreateObject("WScript.Shell"); // текущий каталогcur_dir = WshShell.CurrentDirectory; // создаем ссылку на объект Scripting.FileSystemObjectfso=WScript.CreateObject("Scripting.FileSystemObject"); // создаем в текущей папке новый каталогnew_folder=fso.CreateFolder("Новый каталог_js"); // циклично сздаем 9 папокfor(i=10; i<=19; i++){     new_sub_folder=fso.CreateFolder(i +"_папка");} WScript.Echo("Проверьте содержимое текущего каталога"); // перемещаем 9 папок в другой каталогfso.MoveFolder(cur_dir +"\??_папка", new_folder); WScript.Echo("Процесс перемещения завершен");

Тут в принципе всё тоже, только стоит обратить внимание, что вместо одной косой черточки мы прописали две.

создание новой папки

И так, в этой статье мы рассмотрели методы CreateFolder и MoveFolder объекта FileSystemObject, которые показывают, как создать новую папку и как её переместить.

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