Чтение онлайн

на главную

Жанры

Windows Script Host для Windows 2000/XP

Попов Андрей Викторович

Шрифт:

Если сценарий был запущен не из того каталога, в котором находится сам файл со сценарием, то текущий каталог не будет совпадать с каталогом сценария. Для того чтобы получить путь к каталогу сценария, нужно выделить этот путь из свойства

WScript.ScriptFullName
, содержащему полный путь к выполняемому сценарию (включая имя файла). На языке JScript это можно реализовать с помощью функции
GetScriptDir
следующего содержания:

function GetScriptDir {

 var ScriptDir;

 ScriptDir = WScript.ScriptFullName;

 ScriptDir = ScriptDir.substring(0, ScriptDir.lastIndexOf("\\"));

 return ScriptDir;

}

Полные тексты сценариев на языках JScript (PropScript.js) и VBScript (PropScript.vbs), выводящих на экран сведения о свойства WSH и запущенного сценария, приведены в листингах 2.19 и 2.20 соответственно; результат работы сценария PropScript.js представлен на рис. 2.7.

Рис. 2.7. Результаты выполнения сценария PropScript.js в графическом режиме

Листинг 2.19. Вывод свойств WSH и запущенного сценария (JScript)

/*******************************************************************/

/* Имя: PropScript.js */

/* Язык: JScript */

/* Описание: Вывод свойств запущенного сценария */

/*******************************************************************/

//Проверка режима, в котором запущен сценарий

function IsCScript {

 return ("c"== WScript.FullName.toLowerCase.charAt(WScript.FullName.length - 11));

}

//Возвращает каталог, содержащий запущенный сценарий

function GetScriptDir {

 var ScriptDir;

 ScriptDir = WScript.ScriptFullName;

 ScriptDir = ScriptDir.substring(0, ScriptDir.lastIndexOf("\\"));

 return ScriptDir;

}

/******************* Начало **********************************/

var WshShell,s; //Объявляем переменные

//Создаем объект WshShell

WshShell=WScript.CreateObject("WScript.Shell");

s=" Свойства запущенного сценария:\n\n";

//Проверяем, в каком режиме был запущен сценарий

if (IsCScript) s+="Запущен в консольном режиме\n";

else s+="Запущен в графическом режиме\n";

//Определяем остальные параметры

s+="Путь к серверу: "+WScript.FullName+"\n";

s+="Каталог сервера: "+WScript.Path+"\n";

s+="Версия WSH: "+WScript.Version+"\n\n";

s+="Текущий каталог: "+ WshShell.CurrentDirectory+"\n";

s+="Путь к сценарию: "+WScript.ScriptFullName+"\n";

s+="Каталог сценария: "+GetScriptDir+"\n";

s+="Имя сценария: "+WScript.ScriptName+"\n";

WScript.Echo(s); //Выводим сформированные строки

/************* Конец *********************************************/

Листинг 2.20. Вывод свойств WSH и запущенного сценария (VBScript)

'*******************************************************************

' Имя: PropScript.vbs

' Язык: VBScript

' Описание: Вывод свойств запущенного сценария

'*******************************************************************

Option Explicit

' Проверка режима, в котором запущен сценарий

Function IsCScript

 IsCScript=("c"=Mid(LCase(WScript.FullName),Len(WScript.FullName)-10,1))

End Function

' Возвращает каталог, содержащий запущенный сценарий

Function GetScriptDir

 Dim ScriptDir

 ScriptDir = WScript.ScriptFullName

 ScriptDir = Left(ScriptDir, InstrRev(ScriptDir,"\")-1)

 GetScriptDir=ScriptDir

End Function

'******************* Начало **********************************/

Dim WshShell,s ' Объявляем переменные

' Создаем объект WshShell

Set WshShell=WScript.CreateObject("WScript.Shell")

s=" Свойства запущенного сценария:" & vbCrLf & vbCrLf

' Проверяем, в каком режиме был запущен сценарий

If IsCScript Then

 s=s & "Запущен в консольном режиме" & vbCrLf

Else

 s=s & "Запущен в графическом режиме" & vbCrLf

End If

Поделиться:
Популярные книги

Эволюционер из трущоб

Панарин Антон
1. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб

Мастер порталов

Лисина Александра
8. Гибрид
Фантастика:
боевая фантастика
попаданцы
технофэнтези
аниме
фэнтези
5.00
рейтинг книги
Мастер порталов

Вечный. Книга VI

Рокотов Алексей
6. Вечный
Фантастика:
рпг
фэнтези
5.00
рейтинг книги
Вечный. Книга VI

Бояръ-Аниме. Газлайтер. Том 35

Володин Григорий Григорьевич
35. История Телепата
Фантастика:
аниме
боевая фантастика
фэнтези
5.00
рейтинг книги
Бояръ-Аниме. Газлайтер. Том 35

Архонт

Прокофьев Роман Юрьевич
5. Стеллар
Фантастика:
боевая фантастика
рпг
7.80
рейтинг книги
Архонт

Мечников. Из доктора в маги

Алмазов Игорь
1. Жизнь Лекаря с нуля
Фантастика:
альтернативная история
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Мечников. Из доктора в маги

Курс 1. Сентябрь

Фокс Гарри
1. Маркатис
Фантастика:
аниме
фэнтези
сказочная фантастика
5.00
рейтинг книги
Курс 1. Сентябрь

Дважды одаренный. Том III

Тарс Элиан
3. Дважды одаренный
Фантастика:
альтернативная история
аниме
фэнтези
фантастика: прочее
юмористическое фэнтези
5.00
рейтинг книги
Дважды одаренный. Том III

Кодекс Крови. Книга ХVI

Борзых М.
16. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХVI

Дважды одаренный. Том VI

Тарс Элиан
6. Дважды одаренный
Фантастика:
аниме
альтернативная история
фэнтези
фантастика: прочее
5.00
рейтинг книги
Дважды одаренный. Том VI

Газлайтер. Том 23

Володин Григорий Григорьевич
23. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Газлайтер. Том 23

Роза ветров

Кас Маркус
6. Артефактор
Фантастика:
городское фэнтези
аниме
фэнтези
5.00
рейтинг книги
Роза ветров

Хроники Тириса. Книга 3

Маханенко Василий Михайлович
3. Хроники Тириса
Фантастика:
боевая фантастика
космическая фантастика
фантастика: прочее
5.00
рейтинг книги
Хроники Тириса. Книга 3

Хозяйка забытой усадьбы

Воронцова Александра
5. Королевская охота
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Хозяйка забытой усадьбы