windows 7 - kører Javascript med CScript?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at lære at køre Javascript (i stedet for VBScript) ved hjælp af CScript.exe, men når jeg prøver, får jeg en fejl:


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


Jeg troede det var muligt - nogen ide om, hvad der var galt? [19]

Bedste reference


En meget enkel løsning: brug assoc. [20]


c:>assoc .js=JSFile


(Mine var blevet forbundet med en tekstredaktør på et tidspunkt.)

Andre referencer 1


Indstilling af registreringsdatabasen med regsvr32 fungerede ikke for mig. Jeg vil heller ikke have det, da jeg vil have min .js knyttet til et almindeligt tekstredigeringsprogram.


Men der er en kommandolinje indstilling //E for cscript, som gør jobbet:


cscript //E:jscript hello.js

Andre referencer 2


Det er værd at nævne, at rplantiko 's løsning virker, selvom
udvidelsen af ​​filnavnet er ikke .js. Dette gør det muligt at sætte .js-kode
ind i en .cmd-fil og kører som en batch, der danner en enkeltfil
løsning, der er fuldt bærbar uden forudgående skridt (som
assoc).


Hvis du for eksempel opretter en test.cmd fil med følgende indhold,
du kan køre det ved blot at klikke på det i Explorer,
eller ved at trække &slip en anden fil over dens ikon:


@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(","));


Linjerne mellem @then ... @end er batchkommandoer fortolket af cmd.exe. Den sidste kommando er goto :eof for at springe over resten af ​​filen. Linjerne efter @end tolkes af cscript.exe.

Andre referencer 3


Det viser sig, at .js udvidelsen ikke var forbundet med JSFile i registreringsdatabasen. Det gjorde problemet løst. [22]

Andre referencer 4


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

Andre referencer 5


Havde også dette problem, og jeg løste ...


1.- Find wsh.inf, installationsfilen til Windows scripting vært i \%windir\%inf


2.- højreklik på wsh.inf og vælg install .

Andre referencer 6


Du skal kunne køre denne kommando for at rette fejlen:


regsvr32 \%systemroot\%system32vbscript.dll