Я запускаю Node.js 12,13 exe c на Windows, и мне нужно определить, когда команда не найдена. Я ожидал появления ошибки с кодом 9009 , аналогичным поведению cmd.exe
. Но exec
возвращает error.code === 1
, например:
const exec = require('child_process').exec;
exec("no-exists", (err, stdo, stde) => {
if (err)
console.log("exec error code", err.code);
})
Есть ли способ заставить его возвращать код ошибки 9009 , как это делает cmd.exe
? Или любой другой способ безопасно отличить guish ошибка не найдена команда?
Примечание: упаковка команды в оболочку no-exists-wrapper.cmd
:
@echo off
no-exists
exit /b %errorlevel%
и вызов ее из exec()
возвращает 9009 . Но такой взлом для меня последний вариант по причинам развертывания.