Visual Basic 6. Руководство разработчика


Запуск сценариев с помощью


WSCRIPT.EXE

Двойной щелчок на значке сценария — самый быстрый способ его запуска, но такой метод не позволяет использовать аргументы. Когда сценарий не имеет визу­ального интерфейса, единственной возможностью воздействия на ход его выполнения является передача параметров. Для запуска сценария и передачи ему аргументов не­обходимо воспользоваться приложением WSCRIPT.EXE.

Для этого выберите в меню Start команду Run, которая открывает диалоговое окно запуска. Введите имя приложения WSCRIPT.EXE, а затем — имя запускаемого сценария. Например, FILEDTR.VBS из папки SCRIPTS на рабочем столе.

WSCRIPT С:\WINDOWS\DESKTOP\SCRIPTS\FILEDTR.VBS

Команда запускает программу WSCRIPT, которая запускает FILEDTR.VBS. Если путь содержит пробелы, то его необходимо заключить в двойные кавычки.

WSCRIPT "С:\WINDOWS\DESKTOP\SIMPLE SCRIPTS\FILEDTR.VBS"

Можно передавать и аргументы, отделив их от команды пробелами.

WSCRIPT С:\WINDOWS\DESKTOP\SCRIPTS\FILEDTR.VBS arg1 arg2

В данном случае используются два аргумента — arg1 и arg2.

Примечание

Множественные аргументы разделяются пробелом (или несколькими пробелами). Запятая воспринимается как часть аргумента.

Кроме среды запуска сценариев, WSCRIPT предоставляет доступ к нескольким возможностям оболочки Windows (к которым VBScript не имеет доступа). Можно рассматривать объекты WSCRIPT как расширение VBScript. Мы начнем с рассмот­рения семейства Arguments, которое содержит аргументы, передаваемые сценарию. Далее мы научимся осуществлять доступ к аргументам сценария.

Примечание



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

Использование аргументов

Рассмотрим обработку аргументов в коде сценария. VBScript не может обрабатывать аргументы. Свойство Arguments объекта Wscript позволяет сценарию прочесть аргументы. Для этого необходимо создать экземпляр объекта следующим оператором.


Set Args = Wscript.Arguments

Переменная

Args - это семейство со свойствами Item и Count. Для обработки такого семейства можно использовать цикл For... Next

For i = 0 to Args.Count - 1

{Обработка каждого аргумента}

Next

или цикл For Each . . . Next

For Each arg In Args

{Обработка каждого аргумента}

Next

В первом случае доступ к каждому аргументу осуществляется через Args(i), а во втором — через переменную arg. Сценарии ARGS1.VBS и ARGS2.VBS демонстрируют, как это выполняется обоими способами.

Программа 20.13. Сценарий ARGS1.VBS

Set Args = Wscript.Arguments

For i = 0 to Args.Count - 1

txt =

txt & Args(i) & vbCrLf

Next

MsgBox txt

Каждый аргумент — это член семейства Args,

в котором он появляется в том же порядке, в котором был передан.

Программа 20.14. Сценарий ARGS2.VBS

Set Args = Wscript.Arguments

For Each arg In Args

txt = txt & arg & vbCrLf

Next

MsgBox txt

Для запуска этих сценариев необходимо воспользоваться командой Run (Выполнить) из меню Start (Пуск). В диалоговом окне Run необходимо ввести следующую строку.

WSCRIPT "C:\SCRIPTS\ARGS1.VBS" John Doe 33.55

Предположим, необходимо модифицировать путь к сценарию ARGS1.VBS согласно структуре жесткого диска. Двойные кавычки необходимы, так как длинные имена Windows 98 могут содержать пробелы. Аргументы разделены пробелами. Если запустить сценарий с указанными аргументами, то будет выведено сообщение (рис 20.7).



Рис. 20.7. Сценарии ARGS1.VBA и ARGS2.VBA: отображение аргументов в окне сообщений

Нельзя пользоваться запятой в качестве разделителя. Она будет рассматриваться как часть аргумента. Например, если ввести

WSCRIPT "С:\SCRIPTS\ARGS1.VBS" 1, 2, string

результат будет иметь вид, показанный на рис. 20.8.



Рис. 20.8. Параметры сценария не разделяются запятой

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

WSCRIPT "С:\SCRIPTS\ARGS1.VBS" 1, 2, "string variable"

то семейство Arguments будет содержать четыре аргумента: 1, 2, "string" и "variable" (сами кавычки в аргумент не входят).


Содержание раздела