【发布时间】:2019-05-28 02:38:23
【问题描述】:
我正在使用 node.js 做一些事情。我需要读取特定路径内的所有文件和文件夹并返回标准“文件夹”。例如,当我将“MAC HD”作为路径时,我希望得到“应用程序”、“库”、“系统”、“用户”作为结果。我需要获取所有未隐藏的文件夹。在 Windows 中,我有同样的问题。我需要标准文件夹或常规未隐藏文件夹,而不是系统文件夹。
这是我的全部代码:
const child = require('child_process');
var fs = require('fs');
const os = require('os');
const currentPlatform = () => {
if ('darwin' === os.platform()) {
return 'MAC';
} else {
return 'WIN';
}
};
const getDriveList = (data, emitter) => {
const thisPlatform = currentPlatform();
if (thisPlatform === 'WIN') {
child.exec('wmic logicaldisk get name', (error, stdout) => {
let winDriveList = stdout
.split('\r\r\n')
.filter(value => /[A-Za-z]:/.test(value))
.map(value => value.trim());
emitter('getDriveList', winDriveList);
});
} else {
fs.readdir('/Volumes', (err, files) => {
emitter('getDriveList', files);
});
}
};
const getFilesList = (path, emitter) => {
console.log("this was sent from client ===>> ", path);
fs.readdir(path, (err, files) => {
emitter('getFileList', files);
});
};
【问题讨论】: