在Node.js中发出类似cmd的命令

时间:2013-09-12 23:40:07

标签: javascript node.js command-line

我想知道是否可以使用node.js在其默认查看器中打开文件

例如,我可以通过导航到目录然后输入文件名在命令行上打开jpg:

C:\Users\Fermion>sample.jpg

将在Windows Photo Viewer中打开sample.jpg文件。

是否可以编写一个JavaScript脚本来发出相同的命令并使用Node运行它? 如果是这样,怎么样?

2 个答案:

答案 0 :(得分:0)

你想使用节点的child_process来产生一个终端,然后你可以将命令传递给它。

类似于此http://www.dzone.com/snippets/execute-unix-command-nodejs

的内容

此处提供更多信息:

http://nodejs.org/api/child_process.html

答案 1 :(得分:0)

要模拟命令提示符的行为,您需要做的就是使用cmd生成一个进程。

var spawn = require('child_process').spawn;

var cmd = spawn('cmd');
cmd.stdin.write('sample.jpg\n');

在示例中,我生成了一个子进程,然后我将sample.jpg\n写入其stdin流。如果要获取输出,请将处理程序附加到其他两个流。

cmd.stdout.on('data', function(data) {
  // the child process' stdout stream
});
cmd.stderr.on('data', function(data) {
  // the child process' stderr stream
});