Таблица 5.3.Варианты работы метода GetAbsolutePathName
Параметр pathspec |
Возвращаемое значение |
"С:" |
"С:\MyDocuments\Reports" |
"С:.." |
"С:\MyDocuments" |
"С:\\" |
"С:\" |
"Region1" |
"С:\MyDocuments\Reports\Region1" |
"С:\\..\\..\\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);
/************* Конец *********************************************/
Параметр folderspec
в этом методе является числом и может принимать значения, описанные в табл. 5.4.
Таблица 5.4.Значения параметра folderspec
Константа |
Значение |
Описание |
WindowsFolder |
0 |
Каталог Windows (например, " С:\Windows ") |
SystemFolder |
1 |
Системный каталог, содержащий файлы библиотек, шрифтов и драйверы устройств |
TemporaryFolder |
2 |
Каталог для временных файлов, путь к которому хранится в переменной среды TMP |
Метод GetTempName
только возвращает имя файла, но не создает его. Для создания файла можно воспользоваться методом CreateTextFile
, подставив в качестве параметра этого метода сгенерированное случайное имя (листинг 5.5).
Листинг 5.5. Создание временного файла со случайным именем
/*******************************************************************/
Читать дальше