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