Javascript 在nodejs中访问网络驱动器?

Javascript 在nodejs中访问网络驱动器?,javascript,node.js,networking,Javascript,Node.js,Networking,我试图列出S:/test文件夹中的文件,该文件夹位于我的网络中(不是本地目录)。我想知道怎么做?到目前为止,代码如下所示: const testFolder='s:/test'; 常数fs=要求('fs'); fs.readdir(testFolder,(err,files)=>{ files.forEach(文件=>{ console.log(文件); }); })如果这是windows(我假设是),那么您需要做几件事: 使用所需目录的完整路径(驱动器号可以,但也可以在windows中使用U

我试图列出S:/test文件夹中的文件,该文件夹位于我的网络中(不是本地目录)。我想知道怎么做?到目前为止,代码如下所示:

const testFolder='s:/test';
常数fs=要求('fs');
fs.readdir(testFolder,(err,files)=>{
files.forEach(文件=>{
console.log(文件);
});
})
如果这是windows(我假设是),那么您需要做几件事:

  • 使用所需目录的完整路径(驱动器号可以,但也可以在windows中使用UNC路径)
  • 使用额外的反斜杠转义字符串定义中的任何反斜杠
  • 始终在
    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);
      });
    });
    
    我只是在自己的硬盘上尝试了这段代码,效果很好


    而且,仅供参考,我现在在modern node.js中几乎总是使用ES6
    for/of
    ,而不是
    .forEach()
    ,因为它对于解释器来说效率更高,并且可以为您提供更多的循环控制(例如,您可以使用
    break
    退出循环)


    请使用驱动器的完整地址(只是完整路径的一个简短版本)。。。这篇文章可能会对你有所帮助你是对的,我想我已经试过了,但我错了。谢谢。也请先捕获错误,
    if(err)返回控制台。error(err)
    或者更好地使用Promisified
    fs
    Excellent,谢谢您的全面回复!使用for of真的更有效吗?for/of或Promise.all()如果你很出色的话!非常有用mac呢?
    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);
      }
    });