Знайомство з ws-файлами (windows script file)

Windows Script Host надає користувачеві таку корисність, як ws-файл, це файли з розширенням .wsf (windows script file). Корисність полягає в тому, що в одному сценарії ви можете використовувати відразу кілька скриптових мов програмування (vbscript, jscript, perl або phyton). Давайте перейдемо безпосередньо до опису основних переваг ws-файлів (windows script file):

Знайомство з ws-файлами (windows script file)

Як я вже сказав, можливість використовувати в одному сценарії кілька мов

  • Підключення зовнішніх файлів
  • Можливість викликати функції однієї мови в іншому
  • Визначення кількох завдань в тілі сценарію

На відміну від js і vbs файлів, ws (windows script file) сценарії вимагають використання xml розмітки, яка. Давайте напишемо простий приклад, що б ви відразу побачили що і як:

В даному прикладі використовується кілька XML елементів:

... - елемент jobпозволяет задати в сценарії кілька завдань, доступ до яких здійснюється за значенням параметра id, в даному випадку завдання лише одне.

- між цими тегами прописується код сценарію, мова визначається параметром language. В даному прикладі ми одночасно використовували синтаксис Jscript і VBScript.

Добре, тепер давайте спробуємо розширити можливості сценарію:

Тут у нас з'явився новий елемент .... він потрібен в тих WS-файлах, для яких прописано більш одного завдання. Так, ми прописали два завдання з ідентифікаторами ID1 і ID2. Якщо WS-файл містить лише одне завдання, то потреби в ... немає. Як бачимо, в першому завданні виконується код на VBScript, а в другому - на JScript, якщо тепер запустити сценарій, то з'явиться лише перше повідомлення. Що б викликати з ws-файлу .wsf (windows script file) потрібне нам завдання, треба вдатися до допомоги командного рядка:

Тут ми використовували параметр // job сервера Windows Script Host. після двокрапки прописується ідентифікатор завдання і шлях до ws-файлу. У першому запуск проводиться в режимі консолі, а в другому - в стандартному віконному.

Тепер давайте подивимося на те, як відбувається підключення зовнішніх файлів для сценаріїв windows script file. Створіть попередньо файл hello.js з наступною рядком:

WScript.Echo ( "Це зовнішній файл");

Тепер в тому ж каталозі створіть ws файл з ім'ям src.wsf і пропишіть в ньому наступний код:

Тут атрибут src дозволяє підключити зовнішній сценарій, в нашому випадку це hello.js. Після запуску скрипта, з'являться два повідомлення.

Підключення зовнішніх файлів

Добре, тепе уявімо ситуацію, що у нас є сценарій (function.vbs), в якому прописана функція, що б її не копіювати в тіло сценарію windows script file, ми можемо просто увказать посилання на function.vbs і так викликати функцію. Файл function.vbs буде містити наступний код:

А в наш ws-файл (function.wsf) пропишемо наступне:

Тут ми з початок підключаємо файл function.vbs, в ньому прописана функція WSHInputBox, яка в свою чергу викликає функцію InputBox (підтримується тільки в мові VBScript). Зробивши таке перетворення, ми змогли викликати в тілі js коду функцію мови vbscript.

Способи обробки ws-файлів

Ті приклади що були вище, містять нестрогий синтаксис мови XML - НЕ передбачається виконання всіх вимог стандарту XML (реєстр символів, висновок атрибутів в подвійні лапки.)

Однак, якщо windows script file стане обростати зарезервованими для XML символами або словами як розмітки XML, то станеться збій. У такому випадку варто застосовувати строгу розмітку. Для того щоб задати режим суворої обробки сценарію, потрібно помістити елемент в самій першому рядку сценарію - ніяких інших символів або порожніх рядків перед ним бути не повинно. При такій обробці WS-файлу потрібно чітко слідувати всім правилам стандарту XML. Код сценарію повинен бути поміщений в секцію CDATA, яка починається з символів "". Наприклад:

Схожі статті