CMD/BAT + JavaScript: два в одном

CMD/BAT + JavaScript: два в одном

Как уже отмечалось, из CMD/BAT файлов можно вызывать JScript. А можно ли их объединить в один файл? Оказывается, можно!
Jim Lawless уже достаточно давно предложил оригинальный способ как этого добиться.
Рассмотрим на примере.

rem ( /* @echo off cscript /nologo /e:javascript %~nx0 exit */ ) function rem() { WScript.StdOut.WriteLine("Hello, world!"); }


С точки зрения интерпретатора CMD/BAT данный пример выглядит как
комментарий - rem ( /*
тело программы, которое заканчивается оператором exit
и что-то еще, до которого интерпретатор никогда не дойдет до анализа.

С точки зрения JScript этот же пример выглядит как вызов процедуры rem и ее описания.

rem ( /* длинный многострочный комментарий */ ) function rem() { WScript.StdOut.WriteLine("Hello, world!"); }


Вариант с условной компиляцией:

@if (true == false) @end /* @echo off cscript /nologo /e:javascript %~dpf0 echo Hello from bat pause goto :EOF */ WScript.Echo('Hello from JScript');


Источник.

Конечно, предлагаемые варианты несколько снижают наглядность программы, но преимущество - использовать только один файл - во многих случаях того стоит.


Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать раздел форума этого сайта (требуется регистрация).









  TopList own counter Valid XHTML 1.0 Strict Valid CSS

Фитотерапия Молитвы Водолечение Юмор Форум Кладовка link О авторе

Фитотерапия Молитвы Водолечение Юмор Форум Кладовка Ссылки О авторе Отправить сообщение Карта сайта Поиск по сайту Главная страница

Copyright © 1999 - 2024  Бронислав Краснер