SFTP Node.js - можно ли перечислять файлы с использованием подстановочных знаков?
Я пытаюсь перечислить все файлы на моем SFTP-сервере из папки верхнего уровня в Node.js, используя модуль npm ssh2-sftp-client. Однако я не могу найти никакой документации или предыдущих сообщений, в которых обсуждается, возможно ли использование подстановочных знаков в путях к файлам. Пути к файлам выглядят так:
../mnt/volume_lon1_01/currency/curve/date/filename.csv
Может быть много разных валют, кривых и дат - на самом деле сотни - мне нужно просто перечислить каждое имя файла на конечном уровне структуры файла.
Я думал, что разумным подходом будет использование подстановочных знаков:
../mnt/volume_lon1_01/ * / * / * / *.csv
Но, похоже, это не работает, и я не могу найти ничего, что могло бы предположить. Кто-нибудь может посоветовать, как лучше всего перечислить каждый файл из SFTP в Node.js?
Большое спасибо,
Джордж
1 ответ
Ммм, я не думаю, что это возможно в 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"]... etc