Объект FileSystemObject метод GetDrive, GetFolder и GetFile

Объект FileSystemObject метод GetDrive, GetFolder и GetFile Объектная модель Windows Script Host

И так, в этой статье мы рассмотрим три метода объекта FileSystemObject, GetDrive, GetFolder и GetFile. Данные методы являются своеобразным звеном, так как позволяют получить доступ к другим объектам.

Давайте рассмотрим подробно их синтаксис:

GetDrive(drivespec) – возвращает объект Drive для диска, заданного параметром drivespec (например, «С», «С:», «C:»).

GetFolder(folderspec) – вернёт объект Folder, для каталога заданного параметром folderspec. Параметр должен содержать полный путь к каталогу, если такого каталога не существует, возникнет ошибка.

GetFile(filespec) – вернёт объект File, для файла заданного параметром filespec. Параметр должен содержать полный путь к файлу, если такого файла не существует, возникнет ошибка.

Хорошо, теперь давайте напишем два примера, на языке vbscript и jscript.

'***********************************************************************' методы объекта FileSystemObject GetDrive, GetFolder и GetFile' Получение доступа к диску, папке и файлу' GetDrive_Folder_File.vbs'*********************************************************************** OptionExplicit dim FSO, WshShell, listdim get_drive, get_folder, get_filedim my_drive, my_folder, my_file 'Создаем объект FileSystemObjectset FSO=WScript.CreateObject("Scripting.FileSystemObject"' Создаем объект WScript.Shellset WshShell = WScript.CreateObject("WScript.Shell"' путь к диску Cget_drive = "C:"' путь к текущему каталогуget_folder = WshShell.CurrentDirectory' путь к текущему сценариюget_file = WScript.ScriptFullName set my_drive = FSO.GetDrive(get_drive)set my_folder = FSO.GetFolder(get_folder)set my_file = FSO.GetFile(get_file) list = "" list = list & "Файловая система диска: " & my_drive.FileSystem & vbCrLflist = list & "Короткое имя каталога: " & my_folder.ShortName & vbCrLflist = list & "Короткое имя файла: " & my_file.ShortName & vbCrLf ' выводим значение переменной listWScript.Echo list

Давайте для начала рассмотрим назначение переменных:

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

dim FSO, WshShell, list – тут FSO хранит ссылку на объект FileSystemObject, который позволит получить доступ к методам FSO GetFolder, FSO GetFile и FSO GetDrive. Переменная WshShell хранит ссылку к объекту WScript.Shell, она нам нужна для получения пути к текущему каталогу  с помощью свойства CurrentDirectory (смотри статью «Объект WScript.Shell — метод ExpandEnvironmentStrings и свойство CurrentDirectory«). Переменная list будет содержать список значений.

dim get_drive, get_folder, get_file – тут мы объявили три переменные, которые содержать путь к диску, путь к текущему каталогу и полный путь к текущему сценарию, включая его имя.

dim my_drive, my_folder, my_file – каждая из данных переменных является ссылкой на объект, соответственно, объект Drive, Folder и File.

Далее происходит присвоение значений переменной list, как я уже сказал, она хранит список, а именно: файловую систему диска, короткое имя папки и файла.

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

//***********************************************************************// методы объекта FileSystemObject GetDrive, GetFolder и GetFile// Получение доступа к диску, папке и файлу// GetDrive_Folder_File.js//*********************************************************************** var FSO, WshShell, list="";var get_drive, get_folder, get_file;var my_drive, my_folder, my_file; //Создаем объект FileSystemObjectFSO=WScript.CreateObject("Scripting.FileSystemObject"); // Создаем объект WScript.ShellWshShell = WScript.CreateObject("WScript.Shell"); // путь к диску Cget_drive ="C:";// путь к текущему каталогуget_folder = WshShell.CurrentDirectory;// путь к текущему сценариюget_file = WScript.ScriptFullName; my_drive = FSO.GetDrive(get_drive);my_folder = FSO.GetFolder(get_folder);my_file = FSO.GetFile(get_file); list = list +"Файловая система диска: "+ my_drive.FileSystem+"n";list = list +"Короткое имя каталога: "+ my_folder.ShortName+"n";list = list +"Короткое имя файла: "+ my_file.ShortName+"n"; // выводим значение переменной listWScript.Echo(list);

Стоит сделать следующий акцент, получение доступа к объектам через методы GetDrive, GetFolder и GetFile нужно в том случае, когда приходится обработать несколько элементов, например, получить список всех файлов или каталогов в текущей папке, получить атрибуты файла и много другое.

Хорошо, на этом пока всё, мы рассмотрели работу методов объекта FileSystemObject (FSO) GetDrive, fso GetFolder и fso GetFile, пишите свои вопросы в комментариях.

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