Подтвердить что ты не робот

Найти файл с подстановочными картами

В node.js, могу ли я перечислить файлы с сопоставлением с дикой картой, например

 fs.readdirSync('C:/tmp/*.csv')?

Я не нашел информацию о сопоставлении диких карт из документа fs.

4b9b3361

Ответ 1

Это не распространяется на ядро ​​ Node. Вы можете проверить этот модуль за то, что вам нужно. npmjs.org также является отличным ресурсом для поиска различных модулей.

Использование

var glob = require("glob")

// options is optional
glob("**/*.js", options, function (er, files) {
  // files is an array of filenames.
  // If the `nonull` option is set, and nothing
  // was found, then files is ["**/*.js"]
  // er is an error object or null.
})

Ответ 2

Если glob не совсем то, что вы хотите, или немного запутанным, есть также glob-fs. Документация охватывает множество сценариев использования с примерами.

// sync 
var files = glob.readdirSync('*.js', {});

// async 
glob.readdir('*.js', function(err, files) {
  console.log(files);
});

// stream 
glob.readdirStream('*.js', {})
  .on('data', function(file) {
    console.log(file);
  });

// promise 
glob.readdirPromise('*.js')
  .then(function(files) {
    console.log(file);
  });

Ответ 3

Не изобретайте колесо, если вы находитесь на * nix, инструмент ls может легко сделать это (node api docs)

var options = {
  cwd: process.cwd(),
}
require('child_process')
.exec('ls -1 *.csv', options, function(err, stdout, stderr){
  if(err){ console.log(stderr); throw err };
  // remove any trailing newline, otherwise last element will be "":
  stdout = stdout.replace(/\n$/, '');
  var files = stdout.split('\n');
});