Всем привет, с вами снова автор блога scriptcoding.ru. В этой публикации мы рассмотрим, как создать новую папку программным путём и вручную, а также, какие программные средства позволяют переместить заданный каталог.
И так, как создать новую папку? Если мы хотим создать новую папку в другом каталоге, на диске или рабочем столе, то можно просто нажать по пустой области правой кнопкой мыши и из контекстного меню выбрать пункт «Создать/Папку«. В итоге, в указанном месте появится новый каталог с именем Новая папка. Если мы работает с редактором Total Commander, то тут, что бы создать новую папку достаточно нажать клавишу F7, ввести название и вёе, работа сделана.
Как создать новую папку
Теперь давайте перейдем к программированию, точнее к объекту FileSystemObject и двум его методам:
CreateFolder(foldername) – Метод показывает, как создать новую папку, в качестве параметра мы указываем имя или полный путь к новому каталогу. Если просто указать имя каталога, то он создастся в текущей папке (откуда был запущен сценарий). Важно, если произойдет попытка создать новую папку с именем, с каким уже есть директория, то произойдёт ошибка.
MoveFolder(source, destination) – Собственно, метод отвечает за перемещение одного или группы каталогов. Видим, что ему передаются два параметра:
- source – путь к папке, которую нужно переместить, можно использовать подстановочные знаки «?» – любой один символ или «*» – любое количество символов. В случае использования подстановочных знаков, мы можем переместить сразу несколько каталогов.
- destination – путь к каталогу, в который должно производиться перемещение.
Хорошо, с теорией разобрались, теперь можно приступить к программированию. Напишем два сценария, один на языке vbscript, а другой на языке jscript. Их задача – показать, как создать новую папку, потом создать еще девять директорий и используя подстановочные знаки переместить их в ранее созданную директорию.
'********************************************** ' Объект FileSystemObject методы CreateFolder и MoveFolder ' Как создать новую папку и переместить ее ' CreateFolder.vbs '********************************************** Option Explicit dim fso, new_folder, new_sub_folder, i dim WshShell, cur_dir ' формируем ссылку на объект set WshShell = CreateObject("WScript.Shell") ' текущий каталог cur_dir = WshShell.CurrentDirectory ' создаем ссылку на объект Scripting.FileSystemObject set 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.FileSystemObject fso=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, которые показывают, как создать новую папку и как её переместить.