NewElem=XMLDoc.createElement('Note');
//Добавляем новый элемент в XML-файл (внутри элемента Person)
Root.appendChild(NewElem);
//Подставляем в качестве содержимого элемента App
//значение поля House объекта PersRec
Root.lastChild.text=PersRec.Note;
//Сохраняем содержимое XML-файла на диске
XMLDoc.save(PathBook);
}
//Добавление новой записи в книжку
function AddRecord() {
//Заполняем поля объекта PersonRec
MakePersonRec();
//Сохраняем данные из объекта PersonRec в XML-файл
RecordToFile(PersonRec);
}
//Построение путей к файлам
function InitPath() {
BasePath=WshShell.CurrentDirectory+'\';
//Путь к файлу с данными
PathBook=BasePath+'book.xml';
}
//Основная запускная функция
function Main() {
var Res;
//Создаем объект WshShell
WshShell = WScript.CreateObject('WScript.Shell');
//Определяем пути к файлам
InitPath();
//Запрос на создание нового ключа
Res=WshShell.Popup('Добавить запись в
'+PathBook+'?',0,
'Записная книжка',vbQuestion+vbYesNo);
if (Res==vbYes) { //Нажата кнопка Да
//Добавляем новую запись в книжку
AddRecord();
//Выводим информацию на экран
WshShell.Popup('Новая запись
'+PersonRec.LastName+' '+
PersonRec.Name+'
'+PersonRec.Phone+'
'+
PersonRec.Street+', '+PersonRec.House+'-'+PersonRec.App+'
'+
'добавлена!',0, 'Записная книжка',vbInformation+vbOkOnly);
}
}
//Запускаем основную функцию
Main();
</script>
</job>
</package>
Итак, у нас теперь имеется многозадачный WS-файл PhoneBook.wsf, обеспечивающий необходимую функциональность для работы с записной книжкой, и следующая задача состоит в организации более или менее удобного диалога с пользователем для запуска заданий из этого файла.
Обработка параметров командной строки
Самый простой вариант организовать диалог с пользователем состоит в использовании параметров командной строки. Напомним, что объектная модель WSH предоставляет несколько методов, которые позволяют производить анализ именных и безымянных параметров<runtime>
, <named>
, <unnamed>
, <description>
и <example>
), предназначенных для быстрого создания встроенной справки, описывающей синтаксис сценария и смысл каждого из параметров.
Для нашего примера мы создадим сценарий ArgMenu.wsf, в котором будем анализировать аргументы командной строки и в зависимости от них запускать то или иное задание из файла PhoneBook.wsf. Названия и назначения именных параметров, которые мы будем использовать, приведены в табл. 7.1.
Название параметра | Назначение |
---|---|
/L | Просмотр всех записей книжки (сортировка по фамилии) |
/F | Поиск записей по фамилии, которая вводится в диалоговом окне |
/А | Добавление записи по фамилии (данные вводятся в диалоговом окне) |
/D | Удаление записи (фамилия для удаления вводится в диалоговом окне) |
Если запустить сценарий ArgMenu.wsf вообще без параметров, либо с параметрами, не указанными в табл. 7.1, то на экран будет выведена встроенная справка (рис. 7.1).

Рис. 7.1. Встроенная справка для сценария ArgMenu.wsf