- Объект Folder — работа с папками Windows
- Свойства объекта Folder – работа с папками Windows
- Методы объекта Folder – работа с Windows папками
- Коллекция Folders
- Объект FileSystemObject методы CreateFolder и MoveFolder — Как создать новую папку и переместить ее
- Как создать новую папку
- Create a Folder Using CMD in Windows
- Create a Folder Using CMD in Windows
- Create Multiple Folders Using CMD in Windows
- Weekend Scripter: Use PowerShell to Create Folder
Объект Folder — работа с папками Windows
Доброго дня всем читателям блога scriptcoding.ru. Сегодня мы затронем такую тему как работа с папками Windows. Прежде всего, мы рассмотрим программные методы для управления каталогами и напишем несколько примеров программного кода.
Работа с папками средствами Windows Script Host осуществляется с помощью встроенного объекта Folder и коллекции Folders. Прежде чем начать работать с директориями, надо получить доступ к классу Folder, это можно сделать с помощью свойства RootFolder класса Drive или методов GetFolder, GetParentFolder и GetSpecialFolder объекта FileSystemObject . Прежде чем переходить к практическим примерам, давайте рассмотрим теорию.
Свойства объекта Folder – работа с папками Windows
Attributes – Позволяет при работе с папками просмотреть или установить для нее атрибуты. Доступные атрибуты можно просмотреть в статье «Объект File: работа с файлами».
DateCreated – Дата и время создания. Только чтение.
DateLastAccessed — Дату и время последнего обращения к каталогу. Только чтение.
DateLastModified — Дату и время последней модификации директории. Только чтение.
Drive – Возвращает букву диска, на котором размещена папка. Только чтение.
Files – Данное свойство позволяет получить доступ к коллекции Files
IsRootFolder – Если указан корневой каталога, то свойство вернет TRUE — 1, иначе, FALSE — 0.
Name – При работе с папками позволяет изменить их имя. Чтение и запись.
ParentFolder – Возвращает родительскую директорию (C:\, D:\ и так далее). Только чтение.
Path — Путь к каталогу.
ShortName — Короткое имя директории (например, 233_6E
ShortPath – Короткий путь (например, C:\work\233_6E
Size – Общий размер в байтах всех файлов и подкаталогов, что входят в данную папку.
SubFolders — Данное свойство позволяет получить доступ к коллекции Folders.
Type — Тип каталога
Методы объекта Folder – работа с Windows папками
Сору (destination [,overwrite]) – При работе с папкой позволяет произвести ее копирование вместе с подкаталогами и файлами в заданное место, destination задает директорию, в которой будет производиться копирование, нельзя использовать подстановочные символы (*,? и так далее), overwrite : значение TRUE – произвести замену, FALSE – нет.
CreateTextFile (filename[,overwrite [,format]]) – Позволяет создать новый текстовый файл с именем filename и возвращает указывающий на этот файл класс Textstream (этот метод аналогичен методу CreateTextFile класса FileSystemObject ), format – задает кодировку (ASCII – значение 0 или Unicode – значение 1).
Delete ([force]) – При работе с папками позволяет удалить заданный каталог. Если параметр force равен false или отсутствует, то нельзя удалить директорию с атрибутом «только для чтения» (read-only), значение true решит эту задачу. Вместо метода Delete можно использовать метод DeleteFolder класса FileSystemObject .
Move (destination) — Перемещает каталог в другое место, destination определяет куда будет производиться перемещение; подстановочные знаки в имени недопустимы. Вместо метода Move можно использовать метод MoveFolder объекта FileSystemObject .
Коллекция Folders
Add (FolderName) – Данные метод при работе с папками позволяет создавать новый каталог. Аналогично, можно использовать метод CreateFolder объекта FileSystemObject .
Ниже я привожу два по работе с папками, первый на VBScript, а второй на JScript.
Пример на языке vbscript:
Пример на языке jscript:
И так, с программированием мы закончили, теперь давайте разберем примеры. В самом начале мы создаем переменные, которые будут хранить ссылку на нужные классы. Эти классы нужны для доступа к файловой системе и создания новой директории (метод CreateFolder) в текущем каталоге. Последующая работа с папками заключается в создании нескольких подпапок, в самом конце с помощью цикла происходит перебор всех подпапок и вывод полного пути к ним.
Спасибо за внимание. Автор блога Владимир Баталий
Объект FileSystemObject методы CreateFolder и MoveFolder — Как создать новую папку и переместить ее
Всем привет, с вами снова автор блога scriptcoding.ru. В этой публикации мы рассмотрим, как создать новую папку программным путём и вручную, а также, какие программные средства позволяют переместить заданный каталог.
И так, как создать новую папку? Если мы хотим создать новую папку в другом каталоге, на диске или рабочем столе, то можно просто нажать по пустой области правой кнопкой мыши и из контекстного меню выбрать пункт » Создать/Папку «. В итоге, в указанном месте появится новый каталог с именем Новая папка. Если мы работает с редактором Total Commander , то тут, что бы создать новую папку достаточно нажать клавишу F7, ввести название и вёе, работа сделана.
Как создать новую папку
Теперь давайте перейдем к программированию, точнее к объекту FileSystemObject и двум его методам:
CreateFolder (foldername) – Метод показывает, как создать новую папку, в качестве параметра мы указываем имя или полный путь к новому каталогу. Если просто указать имя каталога, то он создастся в текущей папке (откуда был запущен сценарий). Важно, если произойдет попытка создать новую папку с именем, с каким уже есть директория, то произойдёт ошибка.
MoveFolder (source, destination) – Собственно, метод отвечает за перемещение одного или группы каталогов. Видим, что ему передаются два параметра:
- source – путь к папке, которую нужно переместить, можно использовать подстановочные знаки «?» – любой один символ или «*» – любое количество символов. В случае использования подстановочных знаков, мы можем переместить сразу несколько каталогов.
- destination – путь к каталогу, в который должно производиться перемещение.
Хорошо, с теорией разобрались, теперь можно приступить к программированию. Напишем два сценария, один на языке vbscript, а другой на языке jscript. Их задача – показать, как создать новую папку, потом создать еще девять директорий и используя подстановочные знаки переместить их в ранее созданную директорию.
Давайте рассмотрим логику программного кода:
Сначала мы подключаем объект WScript.Shell, который нам нужен для получения пути к текущей директории. Путь будет храниться в переменной cur_dir, для получения пути мы используем свойство CurrentDirectory.
Далее происходит подключение объекта FileSystemObject, он позволит нам использовать метод CreateFolder, что бы показать, как можно создать новую папку с именем «Новый каталог_vbs» в текущей директории.
Далее мы используем цикл for (более детально я описал логику его работы в статье Урок_6_Циклы vbscript). Цикл содержит 9 итераций, то есть, будет создано 9 каталогов в текущей папке.
Ну и наконец, мы используем подстановочные знаки в методе MoveFolder для перемещения 9 папок в одну заданную.
Хорошо, а вот аналогичный пример на языке jscript:
Тут в принципе всё тоже, только стоит обратить внимание, что вместо одной косой черточки мы прописали две.
И так, в этой статье мы рассмотрели методы CreateFolder и MoveFolder объекта FileSystemObject, которые показывают, как создать новую папку и как её переместить.
Спасибо за внимание. Автор блога Владимир Баталий
Create a Folder Using CMD in Windows
Not many Windows users are familiar with CMD. The common misconception is that only programmers and computer geeks use CMD. Basically, CMD is a tool that you can use to communicate with your Windows computer. Though the user interface and other input methods are introduced, CMD is one tool that you cannot take for granted. Some commands, such as creating folders, are easier to execute using CMD. You may laugh and think that it is harder to create a folder using CMD instead of using your mouse and the “Right click > New folder” method. You may have a point, but what if you are asked to create 10 folders or more? CMD would greatly simplify the task. Creating a folder using CMD is easy. This article will show you how.
Create a Folder Using CMD in Windows
To use CMD to create a folder on your Windows computer, follow these steps:
1. Click on the Search button located on the lower-left part of your computer’s screen.
2. In the Search box, type in CMD.
3. Open CMD from the results.
4. With CMD opened, go to the drive where you want to put the folder. To go to the drive, type in the name of the drive followed by the colon (:) symbol. In this case, we want to go to Drive D so we input D:.
5. CMD’s directory will change to the chosen drive. Type in the MKDIR command to create a directory or folder. In this case, we want to make a folder named TECHRECIPE, so we type in mkdir TECHRECIPE into CMD.
6. You are done. You can go to the newly created folder using CMD by typing in the command CD followed by name of the folder. In this case, type in CD TECHRECIPE in CMD.
7. You can also use your computer’s user interface to see that the folder has been created.
Create Multiple Folders Using CMD in Windows
To create multiple folders using CMD, follow these steps:
1. Open CMD on your Windows computer.
2. Go to the directory or folder where you want to create the multiple folders. In this case, we will go to the newly created folder.
3. Type in the MD command, followed by the names of the folders that you want to create. In this case, we want to create four folders named TR1, TR2, TR3 and TR4. Therefore, we input md TR1 TR2 TR3 TR4.
4. The subfolders will be created. You can go to the folder using your computer’s user interface, and you will see that all the subfolders have been created.
5. You are done.
Learning CMD is easy. If you want to know more about using CMD or if you have questions concerning any of the steps above, let us know in the comments section.
Weekend Scripter: Use PowerShell to Create Folder
Summary : Microsoft Scripting Guy, Ed Wilson, talks about using Windows PowerShell to create folders.
Microsoft Scripting Guy, Ed Wilson, is here. I am not a huge fan of using a mouse. In fact, the more things I can do from Windows PowerShell the better. It is a huge waste of time for me when I have to remove my hands from the keyboard, chase down a mouse, mouse around for a while, and then return my fingers to the home row on the keyboard. One cool thing is that Microsoft Word has a number of keyboard shortcuts—of course, it also has an API. I also do quite a bit of scripting for that.
Another place where I use Windows PowerShell quite a bit is for creating folders, directories, or containers (whatever we are calling them this week). I know that Windows creates lots of default folders, but they seem to be buried in my profile, and they are not all that accessible. I prefer to create my own directory structure to make it easier to copy, back up, and to use from within a Windows PowerShell script or console.
Something I often see is that scripters test for the existence of a folder, then if the folder does not exist, they create it. Here is a typical form of this code:
If (Test-Path -Path $path -PathType Container)
Although the previous code works, it is an awful lot of work. One might decide to add this as an ISE script snippet to simplify the coding process.
But what is the purpose of the code? Most of the time, the purpose is to avoid an error message that occurs when creating a folder that already exists. If this is the purpose of writing such code, you can avoid the error message by using the –Force parameter. Here is an example:
New-Item -Path c:\fso1 -ItemType directory -Force
In the following image, I run this command twice. Note that no error occurs.
I can use the New-Item cmdlet to create a nested folder—even if the root folders do not exist. This is shown here:
Remove-Item $path -Recurse -Force
New-Item -Path $path -ItemType directory -Force
My favorite way to create a new folder is to use the MKDIR function (MD is an alias for MKDIR). MKDIR is cool because it already knows that I want to make a folder, and so I can skip that parameter. I can also specify an array of folder names in the function. I can specify the –Force parameter to keep the command from generating errors if a folder already exists. Here is an example: