Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在nodeJS中执行cmd命令?_Javascript_Node.js_Cmd - Fatal编程技术网

Javascript 如何在nodeJS中执行cmd命令?

Javascript 如何在nodeJS中执行cmd命令?,javascript,node.js,cmd,Javascript,Node.js,Cmd,我对NodeJS真的是一个新手,我在玩一些函数。我想从cmd使用Node使用一些命令。我的尝试是这样的: const execSync = require('child_process').execSync; code = execSync('node -v'); console.log(code); 但我得到的不是一行,而是一个完整的ChildProcess对象,如下所示: ChildProcess { _events: [Object: null prototype] {

我对NodeJS真的是一个新手,我在玩一些函数。我想从cmd使用Node使用一些命令。我的尝试是这样的:

const execSync = require('child_process').execSync;
code = execSync('node -v');
console.log(code);
但我得到的不是一行,而是一个完整的ChildProcess对象,如下所示:

ChildProcess {
    _events: [Object: null prototype] {
    close: [Function: exithandler],
    error: [Function: errorhandler]
  },
  _eventsCount: 2,.....and so on

有人能指引我吗?为什么会这样?我该怎么做?

在节点中执行东西并不是那么容易,但有一个模块可以让它变得更容易。看看:


在节点中执行东西并不是那么容易,但是有一个模块可以使它更容易。看看:


只需使用附加的
.toString()

'child\u process'
返回的类型是
Buffer
,您需要一个字符串

但是请记住,所有执行的命令都以换行符
\n
结束

完整代码

const execSync = require('child_process').execSync;
const code = execSync('node -v').toString;
console.log(code);
会给你类似的东西

'v10.15.1\n'

取决于当前运行的节点版本。

只需使用附加的
.toString()

'child\u process'
返回的类型是
Buffer
,您需要一个字符串

但是请记住,所有执行的命令都以换行符
\n
结束

完整代码

const execSync = require('child_process').execSync;
const code = execSync('node -v').toString;
console.log(code);
会给你类似的东西

'v10.15.1\n'

取决于当前运行的节点版本。

默认情况下,
stdout
被发送到父进程。如果您想让它转到其他地方,可以设置
选项.stdio

const{execSync}=require('child_进程');
const code=execSync('node-v',{stdio:'inherit'});
控制台日志(代码);

默认情况下,
stdout
被发送到父进程。如果您想让它转到其他地方,可以设置
选项.stdio

const{execSync}=require('child_进程');
const code=execSync('node-v',{stdio:'inherit'});
控制台日志(代码);

谢谢!我以后会看一看的谢谢!稍后我会看一看