Согласно этому вопросу: { ссылка }, можно запустить команду с любой нормальной оболочкой.
string strCmdText;
strCmdText= "/C node myscript.js"; // the command to run from the command prompt
System.Diagnostics.Process.Start("CMD.exe",strCmdText);
Обратите внимание, что это отобразит командную строку на Windows.
Этот следующий сценарий предотвращает это.
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C node myscript.js";
process.StartInfo = startInfo;
process.Start();
(оба этих примера сценария были предоставлены ответом, на который я ссылался выше.)
Кроме того, вам, вероятно, также следует примечание:
Важно, что аргумент начинается с / C, иначе это не сработает. Как Скотт Фергюсон сказал: «Выполняет команду, указанную в строке, а затем завершается».
Примечание: все это предполагает, что вы имеете в виду NodeJS, когда вы говорят «JavaScript файл», но любой другой интерпретатор (например, /C python3 myfile.py
) также должен работать.