//Создаем объект FileSystemObject
В FSO = WScript.CreateObject("Scripting.FileSystemObject");
 //Проверяем наличие диска drv
 if (FSO.DriveExists(drv)) s += "Диск " + drv + " существует.";
 else s += "Диск " + drv + " не существует.";
В return(s);
}
Функция ReportDriveStatus будет возвращать информацию о наличии диска, передаваемого в эту функцию в качестве параметра.
Метод GetAbsolutePathName
Для иллюстрации работы этого метода предположим, что текущим каталогом является C:MyDocumentsReports. В табл. 5.3 приведены значения, возвращаемые методом GetAbsolutePathName, при различных значениях параметра pathspec.
Таблица 5.3. Варианты работы метода GetAbsolutePathName
Параметр
pathspec Возвращаемое значение "РЎ:" "РЎ:MyDocumentsReports" "РЎ:.." "РЎ:MyDocuments" "РЎ:\" "РЎ:" "Region1" "РЎ:MyDocumentsReportsRegion1" "РЎ:\..\..\MyDocuments" "РЎ:РњСѓDocuments"В
Работу этого метода иллюстрирует сценарий BaseName.js, приведенный в листинге 5.3. В результате выполнения этого сценария на экран выводится диалоговое окно, в котором отражены полный путь к файлу и базовое имя, выделенное из этого пути (рис. 5.1).
Рис. 5.1. Полный путь к файлу и базовое имя для этого пути
Листинг 5.3. Выделение базового имени файла
/*******************************************************************/
/* РРјСЏ: BaseName.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */
/* Язык: JScript                                                  */
/* Описание: Создание текстового файла и запись в него строки     */
/*******************************************************************/
var FSO, BaseName, SPath,s; //Объявляем переменные
//Создаем объект FileSystemObject
FSO = WScript.CreateObject("Scripting.FileSystemObject");
//Задаем путь к файлу
SPath="C:\Мои документы\letter.txt";
//Выделяем базовое имя файла (без расширения)
BaseName = FSO.GetBaseName(SPath);
//Выводим на экран путь и базовое имя
s="Путь: "+SPath+"n";
s+="Базовое имя: "+BaseName;
WScript.Echo(s);
/************* Конец *********************************************/В
Параметр drivespec в данном методе может задаваться одной буквой (например, "С"), буквой с двоеточием ("С:"), буквой с двоеточием и символом разделителя пути ("С:\"). Для сетевого диска drivespec можно указывать в формате UNC (например, "Server1\Programs").
Если параметр drivespec указывает на несуществующий диск или задан в неверном формате, то при выполнении метода GetDrive возникнет ошибка.
Если вам требуется преобразовать строку, содержащую обычный путь к файлу или каталогу, в вид, пригодный для GetDrive, необходимо применять методы GetAbsolutePathName и GetDriveName:
DriveSpec = GetDriveName(GetAbsolutePathName(Path))
Метод GetParentFolderName
Для иллюстрации работы этого метода запустим сценарий ParentFolder.js (листинг 5.4). В результате будет выведено диалоговое окно с полным путем к файлу и путь к родительскому каталогу этого файла (рис. 5.2).
Рис. 5.2. Полный путь к файлу и родительский каталог этого файла
Листинг 5.4. Определение родительского каталога для файла
/*******************************************************************/
/* РРјСЏ: ParentFolder.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */
/* Язык: JScript                                                  */
/* Описание: Определение родительского каталога для файла         */
/*******************************************************************/
var FSO,ParentFolder,Spath,s; //Объявляем переменные
//Создаем объект FileSystemObject
FSO = WScript.CreateObject("Scripting.FileSystemObject");
//Задаем путь к файлу
SPath="C:\Programs\letter.txt";
//Определяем родительский каталог для файла letter.txt
ParentFolder = FSO.GetParentFolderName(SPath);
s="Путь: "+SPath+"n";
s+="Родительский каталог: "+ParentFolder;
//Выводим на экран полный путь к файлу letter.txt
//и родительский каталог для этого файла
WScript.Echo(s);
/************* Конец *********************************************/
Метод GetSpecialFolder
Параметр folderspec в этом методе является числом и может принимать значения, описанные в табл. 5.4.
Таблица 5.4. Значения параметра folderspec
Константа Значение Описание WindowsFolder 0 Каталог Windows (например, "РЎ:Windows") SystemFolder 1 Системный каталог, содержащий файлы библиотек, шрифтов Рё драйверы устройств TemporaryFolder 2 Каталог для временных файлов, путь Рє которому хранится РІ переменной среды TMPВ
Метод GetTempName только возвращает имя файла, но не создает его. Для создания файла можно воспользоваться методом CreateTextFile, подставив в качестве параметра этого метода сгенерированное случайное имя (листинг 5.5).