Подтвердить что ты не робот

Запуск Javascript с помощью CScript?

Я пытаюсь научиться запускать Javascript (вместо VBScript) с помощью CScript.exe, но когда я пытаюсь, я получаю сообщение об ошибке:

cscript temp.js
Input Error: There is no script engine for file extension ".js".

I мысль это возможно - любая идея, что не так?

4b9b3361

Ответ 1

получается, что расширение .js не было связано с JSFile в реестре. Это устранило проблему.

Ответ 2

Очень простое исправление: используйте assoc.

c:\>assoc .js=JSFile

(В какой-то момент Mine связался с текстовым редактором.)

Ответ 3

Настройка реестра с помощью regsvr32 не помогла мне. Кроме того, я не хочу этого, так как хочу, чтобы мой .js был связан с текстовым редактором.

Но есть опция командной строки //E для cscript, которая выполняет задание:

cscript //E:jscript hello.js

Ответ 4

Стоит отметить, что решение rplantiko работает, даже если расширение имени файла не является .js. Это позволяет помещать код .js в .cmd файл и работает как пакет, образуя однофайловый файл решение, полностью переносимое без предварительных шагов (например, assoc).

Например, если вы создаете файл test.cmd со следующим содержимым, вы сможете запустить его, просто щелкнув по нему в проводнике, или перетащить и переместить другой файл по своему значку:

@if (@CodeSection == @Batch) @then
  @cscript //Nologo //E:jscript "%~f0" "test arg" %* & pause & goto :eof
@end
WScript.Echo("hello world");
for (var i = 0, n = WScript.Arguments.Length, args = []; i < n; ++i)
    args.push(WScript.Arguments(i));
WScript.Echo("arguments: " + args.join(","));

Линии между @then... @end - это командные команды, интерпретируемые cmd.exe. Последняя команда goto :eof, чтобы пропустить остальную часть файла. Строки после @end интерпретируются cscript.exe.

Ответ 5

assoc.js = JSfile ftype jsfile = C:\Windows\System32\Cscript.exe "% 1" % *

Ответ 6

Если бы эта проблема тоже, и я решил...

1.- найдите wsh.inf, установочный файл для хоста сценариев Windows в %windir%\inf

2.- щелкните правой кнопкой мыши по wsh.inf и выберите install.

Ответ 7

Вы можете запустить эту команду, чтобы исправить ошибку:

regsvr32 %systemroot%\system32\vbscript.dll