我试图使用npm模块ssh2-sftp客户机从Node.js中的顶级文件夹中列出SFTP服务器中的所有文件。但是,我找不到任何文档或以前的文章来讨论是否可以在文件路径中使用通配符。文件路径如下所示:
../mnt/volume_lon1_01/currency/curve/date/filename.csv可能有许多不同的货币,曲线和日期-数百个事实上-我需要一个方法,只是列出每个文件名在文件结构的最后级别。
我认为一个明智的方法是使用通配符:
../mnt/volume_lon1_01/ * / * / * / *.csv但这似乎不起作用,我也找不到任何证据表明它可以。有人能建议如何最好地在Node.js中列出来自SFTP的每个文件吗?
非常感谢,
乔治
发布于 2018-11-23 15:50:44
嗯,我认为这在ssh2中是不可能的,但是您可以做的是通过算法列出它们并访问每个伪代码:
Connect SFTP
List Folders -> Save this to a dictionary
For each folder in Folders
List Folders - > Save this to a dictionary在它的末尾,将有一个包含远程服务器完整路径的字典对象,如下所示
{
sftp: {
"subfolders": {
"0": {
"name": "/rootfolder",
"subfolders": {
"0": {
"name": "/rootfolder",
"subfolders": {
...
}
}
}
}
}
}
}这样你就可以很容易地通过做任何你需要的事情
sftp["/rootfolder"]["/subfolder1"]... etchttps://stackoverflow.com/questions/53447984
复制相似问题