const util = require('util');
const exec = util.promisify(require('child_process').exec);
async function runCommand(command) {
const { stdout, stderr, error } = await exec(command);
if(stderr){console.error('stderr:', stderr);}
if(error){console.error('error:', error);}
return stdout;
}
async function myFunction () {
// your code here building the command you wish to execute ...
const command = 'dir';
const result = await runCommand(command);
console.log("_result", result);
// your code here processing the result ...
}
// just calling myFunction() here so it runs when the file is loaded
myFunction();
3条答案
按热度按时间yfwxisqw1#
使用
process.execPath()
:更新
我应该更好地阅读文件。
有一个Child Process Module允许执行子进程。您将需要
child_process.exec
、child_process.execFile
或child_process.spawn
。所有这些在使用上都是相似的,但每个人都有自己的优势。使用哪一个取决于你的需要。qyzbxkaa2#
您也可以尝试node-cmd包:
在新版本的软件包中,语法略有变化:
它不直接支持
Promises
,但你可以很容易地将它们打包在一个里面:oxalkeyp3#
我知道这个问题很老了,但它帮助我使用promise得到了解决方案。另请参阅:此问题和答案