Андрей Попов - Windows Script Host для Windows 2000/XP
 //Создаем объект 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"ВМетод GetBaseName
Работу этого метода иллюстрирует сценарий 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);
/************* Конец *********************************************/В
Метод GetDrive
Параметр 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
Метод GetTempName только возвращает имя файла, но не создает его. Для создания файла можно воспользоваться методом CreateTextFile, подставив в качестве параметра этого метода сгенерированное случайное имя (листинг 5.5).