From c08da463adab71c05017ad6fe81927fa66e2e11e Mon Sep 17 00:00:00 2001 From: Ed Morley Date: Tue, 13 May 2014 13:20:36 +0100 Subject: [PATCH] child_process: use full path for cmd.exe on Win32 Currently child_process.exec() assumes that cmd.exe is on the PATH, and fails with a spawn ENOENT error if it is not. The Windows 'comspec' environment variable contains the full filepath to the default command interpreter, eg "C:\Windows\System32\cmd.exe". Should it not be set, we fall-back to using 'cmd.exe' from PATH, as before. Signed-off-by: Fedor Indutny --- lib/child_process.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/child_process.js b/lib/child_process.js index 462decb..d6017d1 100644 --- a/lib/child_process.js +++ b/lib/child_process.js @@ -608,7 +608,7 @@ function normalizeExecArgs(command /*, options, callback */) { } if (process.platform === 'win32') { - file = 'cmd.exe'; + file = process.env.comspec || 'cmd.exe'; args = ['/s', '/c', '"' + command + '"']; // Make a shallow copy before patching so we don't clobber the user's // options object. -- 2.7.4