我正在尝试列出S:/ test文件夹中的文件,该文件夹位于我的网络中(它不是本地目录)。我想知道怎么做?到目前为止,代码如下所示:
const testFolder = 's:/test';
const fs = require('fs');
fs.readdir(testFolder, (err, files) => {
files.forEach(file => {
console.log(file);
});
})
我已经尝试将路径更改为S:test,s:\ test无效,错误总是“无法读取'forEach'未定义”
答案 0 :(得分:1)
如果这是Windows(我认为是这样),那么你需要做几件事:
fs.readdir()
回调中使用错误处理,因此如果出现错误,您可以确切地看到错误是什么。工作代码:
const fs = require('fs');
const testFolder = 's:\\test';
fs.readdir(testFolder, (err, files) => {
if (err) return console.log(err);
files.forEach(file => {
console.log(file);
});
});
我刚在自己的硬盘上试过这个代码,它运行得很好。
而且,仅供参考我现在几乎总是在现代node.js而不是for/of
中使用ES6 .forEach()
,因为它对解释器来说效率更高,并且它为您提供更多的循环控制(例如,您可以使用break
退出循环。
const testFolder = 's:\\test';
const fs = require('fs');
fs.readdir(testFolder, (err, files) => {
if (err) return console.log(err);
for (let file of files) {
console.log(file);
}
});