Вход/Регистрация
Windows Script Host для Windows 2000/XP
вернуться

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

Шрифт:

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

s=s & "Путь к серверу: " & WScript.FullName & vbCrLf

s=s & "Каталог сервера: " & WScript.Path & vbCrLf

s=s & "Версия WSH: " & WScript.Version & vbCrLf & vbCrLf

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

s=s & "Путь к сценарию: " & WScript.ScriptFullName & vbCrLf

s=s & "Каталог сценария: " & GetScriptDir & vbCrLf

s=s & "Имя сценария: " & WScript.ScriptName & vbCrLf

WScript.Echo s ' Выводим сформированные строки

'************* Конец *********************************************

Работа с параметрами командной строки сценария

Используя аргументы командной строки, в сценарии можно передавать различную информацию, скажем, те или иные переключатели или имена пользователей и рабочих станций. При задании аргумента можно указать либо только его значение, либо имя вместе со значением в следующем формате: "Имя_аргумента:Значение".

Замечание

Как в имени аргумента, так и в его значении могут использоваться символы кириллицы.

Например, выполнив в командном окне строку

cscript Example.js /Имя:"Андрей Попов" /Возраст:30

или

cscript Example.js /Возраст:30 /Имя:"Андрей Попов"

мы передадим в сценарий Example.js два параметра: "Имя" со значением "Андрей Попов" и "Возраст" со значением "30". Значения этих параметров можно было передать и как безымянные параметры:

cscript Example.js "Андрей Попов" 30

Однако в последнем случае при задании безымянных аргументов будет важен порядок их указания в командной строке.

В WSH для обработки параметров командной строки служат следующие объекты-коллекции:

WshArguments
(содержит все параметры, как именные, так и безымянные);

WshNamed
(содержит только именные параметры);

WshUnnamed
(содержит только безымянные параметры).

Замечание

Описание аргументов командной строки в сценариях можно задавать с помощью XML-элементов

<runtime>
,
<named>
и
<unnamed>
(см. главу 3).

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

WshArguments
; для этого используется свойство
Arguments
объекта
WScript
. Пример на языке JScript:

var objArgs=WScript.Arguments;

Для создания экземпляров коллекций

WshNamed
и
WshUnnamed
используются соответственно методы
Named
и
Unnamed
объекта
WshArguments
. Например:

var objNamedArgs=objArgs.Named;

var objUnnamedArgs=objArgs.Unnamed;

Методы и свойства коллекций

WshArguments
,
WshNamed
и
WshUnnamed
подробно описаны в главе 1. Отметим здесь только, что для корректной работы с параметрами командной строки, имена которых содержат символы кириллицы, эти имена в сценарии должны быть написаны в кодировке Windows.

В листингах 2.21 и 2.22 приведены примеры сценариев на языках JScript и VBScript, которые выводят на экран общее количество параметров командной строки, количество именных и безымянных аргументов, а также значения каждой из этих групп параметров. Результат работы этих сценариев, запущенных в консольном режиме, представлен на рис. 2.8.

Рис. 2.8. Результат работы сценария Args.js

Листинг 2.21. Доступ к параметрам командной строки запущенного сценария (JScript)

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

/* Имя: Args.js */

/* Язык: JScript */

/* Описание: Работа с аргументами запущенного сценария */

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

var

 i,objArgs,s,objNamedArgs,objUnnamedArgs; //Объявляем переменные

objArgs = WScript.Arguments; //Создаем объект WshArguments

//Определяем общее количество аргументов

s="Всего аргументов: "+objArgs.Count+"\n";

for (i=0; i<=objArgs.Count-1; i++)

 s+=objArgs(i)+"\n"; //Формируем строки со значениями аргументов

  • Читать дальше
  • 1
  • ...
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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