JS
/VBS
-скриптов в автоматическом и интерактивном режимах.
Известно, что
JScript
и VBScript
не имеют встроенных возможностей подключения внешних файлов (внешних скриптов, библиотек). Однако Windows Scripting
технология позволяет сделать это с помощью специальных средств - XML
-подобный файл, WSF
, имеет возможность добавить внешние источники программного кода. Причем, можно смешивать код разных языков (по умолчанию доступны два - JScript
и VBScript
). тем не менее, требуется написание некоторого дополнительного кода по формированию правильного XML
-кода.
Предлагаемое небольшое расширение позволяет запускать, компилировать любые
JS
/VBS
-скрипты и формировать готовый WSF
-файл, требующий незначительных изменений. Отличительной особенностью расширения является тот факт, что реализовано оно на двух языках: вызывающий скрипт - интерпретатор командной строки BAT
, и исполняющая система JScript
, внедренная с помощью несложных манипуляций для совместимости двух независимых языков (JS2BAT converter 2).
Интерактивный режим
После запуска доступна командная строка для ввода команд JScript.wscmdПлюсы:
- быстрый набор и выполнение команд;
- моментальный вывод результата работы введенной команды;
- ведение и сохранение истории введенных команд.
- возможно нарушение работы за счет переопределения некоторых объектов программы.
Автоматический режим - выполнение файла
Фактически является своего рода надстройкой надCSCRIPT.EXE
- создает временный wsf
-файл, указывает необходимые внешние библиотечные файлы и вызывает "главный" скрипт из полученного wsf
-файла. По завершении выполнения временный файл удаляется.
wscmd filenameПлюсы:
- при создании некоторого скрипта, зависящего от других внешних библиотек нет нужды описывать
WSF
-контейнер, только "чистый" JScript-код; - все внешние файлы добавляются автоматически - в момент создания временного
wsf
-файла.
- небольшое замедление, требуемое на "компиляцию" временного файла;
- создается временный файл.
Автоматический режим - выполнение строки кода
Имеется возможность выполнить некоторую строку кода, введенную в командной строке.wscmd /e "WScript.Echo(Math.PI)"Плюсы:
- нет необходимости в создании файла - код берется прямо из командной строки.
- ограничения командной строки
DOS
- строка ОБЯЗАТЕЛЬНО должна быть заключена в кавычки.
Конфигурирование
Конфигурирование осуществляется с помощью текстового файла wscmd.ini. Файл может располагаться в каталоге запуска wscmd.bat или текущем. Параметры задаются строкой видаимя=значение
. Доступны следующие параметры:
include
- список шаблонов подключаемых библиотечных файлов (по умолчанию -js\*.js
,js\win32\*.js
,vbs\win32\*.vbs
, относительно запускаемого файлаwscmd.bat
)execute
- имя временного файла (по умолчанию -$$$wscmd.wsf
, относительно текущего каталога)command
- команда запуска (cscript //NoLogo
)
%~d0
- имя диска%~p0
- путь%~n0
- имя файла%~x0
- расширение
Дополнительные опции
/JS
- рассматривать источник как JScript-код/VBS
- рассматривать источник как VBScript-код/COMPILE
- "компилировать", но не выполнять, результирующий временный файл сохраняется на диск с именем, определенным вexecute
/DEBUG
- "скомпилировать" и выполнить, вывести отладочную информацию (список подключенных файлов библиотек)
wscmd /compile /vbs filename.vbsПеред выполнением строки кода вывести отладочную информацию (список внешних файлов)
wscmd /debug /vbs /e "print(Math.PI)"
Исходный код
Исходный код доступен - wscmd.bat :: google.code. Скачать файлwscmd.bat
и сохранить в любом удобном месте.
No comments:
Post a Comment