Vale la pena di ricordare che rplantiko's solution funziona anche se il estensione del nome del file non è .js. Ciò consente di inserire il codice .js in un file .cmd ed eseguire come batch, formando una soluzione a singolo file completamente portatile senza passaggi preliminari (come assoc
).
Ad esempio, se si crea un file test.cmd
con il seguente contenuto, sarete in grado di farlo funzionare semplicemente cliccando su di esso in Esplora risorse, o con il drag & rilasciare un altro file sopra la sua icona:
@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(","));
Le righe tra @then
... @end
sono comandi batch interpretati da cmd.exe. L'ultimo comando è goto :eof
per saltare il resto del file. Le righe dopo @end
sono interpretate da cscript.exe.
No, non ha funzionato ... – Mehrdad