node.js – 节点 – 检查路径中命令的存在

前端之家收集整理的这篇文章主要介绍了node.js – 节点 – 检查路径中命令的存在前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个独特的问题,我需要使用Node迭代几个Unix风格的命令,看看它们是否存在于 Windows安装的路径中.

例如,Windows本身不支持ls.但是,假设有人安装了git并检查了包含Unix命令,它会.

我需要知道ls和其他命令是否在系统路径中.

现在,我正在使用child_process来为每个命令运行帮助.然后我检查运行它的响应.这是混乱和危险的.我不想从Node运行30个任意命令:

var spawnSync = require('child_process').spawnSync;
var out = spawnSync('ls',['/?'],{encoding: 'utf8'});

我怎样才能检查这些命令的存在?

解决方法

您可以在Linux中使用whereis,在Windows中使用whereis,以查看是否可以找到可执行文件
var isWin = require('os').platform().indexOf('win') > -1;

var where = isWin ? 'where' : 'whereis';

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

var out = spawn(where + ' ls',{encoding: 'utf8'});

out.on('close',function (code) {
    console.log('exit code : ' + code);
});
原文链接:https://www.f2er.com/nodejs/241288.html

猜你在找的Node.js相关文章