Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Ввод/вывод командной строки Windows (https://javascript.ru/forum/misc/50060-vvod-vyvod-komandnojj-stroki-windows.html)

HelloWorlder 10.09.2014 07:30

Ввод/вывод командной строки Windows
 
Дорогие товарищи, подскажите пожалуйста, если я запускаю в командной строке Windows файл скрипта с расширением ".js", какими средствами осуществляется ввод/вывод? Например в C есть функции printf() и scanf(), в C++ - потоки CIN и COUT, какие для этого средства есть в JavaScript?

MallSerg 10.09.2014 08:40

Скорее всего у вас не JavaScript а JScript или JScript.NET
для начала стоит определится что интерпретирует JS файл
WScript.Echo("JScript"); // сработает в JScript/JScript.NET
console.log("JavaScript"); // сработает в JavaScript

HelloWorlder 10.09.2014 17:04

JScript, команда WScript.Echo("JScript") выводит окно с сообщением.

MallSerg 11.09.2014 02:04

Эта технология называется
Windows Script Host
Справку по ней можно найти на сайте майкрософта
чтение стандартного потока ввода

имхо лучше сразу смотреть в сторону HTA

Аркадий Укупник 11.09.2014 02:32

Про ActiveX почитай

Аркадий Укупник 11.09.2014 02:33

HTA там скрипты запускаются в IE-7

Aetae 11.09.2014 03:04

Аркадий Укупник,
Достаточно добавить
<!DOCTYPE html>
и
<meta http-equiv="x-ua-compatible" content="ie=edge" />
и hta будет работать через тот ie, что установлен.

Аркадий Укупник 11.09.2014 04:19

скрипты нельзя подключать по http[s]
<!doctype html>
<html>
    <head>
        <meta http-equiv="x-ua-compatible" content="ie=edge">
        <script src="http//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    </head>
    <body>
        <p>Some text.</p>
        <script>
            alert(navigator.userAgent);
            $(document.body).css('color: red');
        </script>
    </body>
</html>

В прочем в расширениях для Chrome тоже

HelloWorlder 11.09.2014 04:28

Какой IE? Скрипт планирую запускать исключительно из командной строки win. Какой элемент ActiveX можно использовать для ввода/вывода?

Aetae 11.09.2014 06:04

HelloWorlder, внезапно скрипты в винде так или иначе запускаются движком ie.)

HelloWorlder 12.09.2014 10:38

Попробовал через StdIn:
var input = "";
while (!WScript.StdIn.AtEndOfLine)
{
   input += WScript.StdIn.Read(1);
}
WScript.Echo(input);


На строке:
while (!WScript.StdIn.AtEndOfLine)

выдает ошибку:

MallSerg 12.09.2014 12:58

скрипт запущен не тем интерпритатором
он запущен с помощью wscript.exe
а нужно с помощью cscript.exe

первый работает в графическом режиме
второй в консольном

HelloWorlder 12.09.2014 15:26

Всем спасибо! Проблема решена. :)


Часовой пояс GMT +3, время: 05:57.