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

на главную - закладки

Жанры

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-14

Гарцевич Евгений Александрович
Отмороженный
Фантастика:
боевая фантастика
рпг
постапокалипсис
5.00
рейтинг книги
Цикл Отмороженный. Компиляция. Книги 1-14

Наследие Маозари 7

Панежин Евгений
7. Наследие Маозари
Фантастика:
боевая фантастика
юмористическое фэнтези
постапокалипсис
рпг
фэнтези
эпическая фантастика
5.00
рейтинг книги
Наследие Маозари 7

Идеальный мир для Лекаря 12

Сапфир Олег
12. Лекарь
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 12

Император Пограничья 8

Астахов Евгений Евгеньевич
8. Император Пограничья
Фантастика:
городское фэнтези
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Император Пограничья 8

Кодекс Охотника. Книга XXVI

Винокуров Юрий
26. Кодекс Охотника
Фантастика:
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXVI

На границе империй. Том 10. Часть 10

INDIGO
Вселенная EVE Online
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 10

Кодекс Охотника. Книга ХХХ

Винокуров Юрий
30. Кодекс Охотника
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Охотника. Книга ХХХ

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

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

Купеческая дочь замуж не желает

Шах Ольга
Фантастика:
фэнтези
6.89
рейтинг книги
Купеческая дочь замуж не желает

Гром над Академией. Часть 1

Машуков Тимур
2. Гром над миром
Фантастика:
фэнтези
боевая фантастика
5.25
рейтинг книги
Гром над Академией. Часть 1

Чужак

Листратов Валерий
1. Ушедший Род
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Чужак

Санек 3

Седой Василий
3. Санек
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Санек 3

Кадет Морозов

Шелег Дмитрий Витальевич
4. Живой лёд
Фантастика:
боевая фантастика
5.72
рейтинг книги
Кадет Морозов

Имя нам Легион. Том 9

Дорничев Дмитрий
9. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 9