Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.07.2013, 12:12
Аспирант
Отправить личное сообщение для Romaboy Посмотреть профиль Найти все сообщения от Romaboy
 
Регистрация: 29.05.2013
Сообщений: 61

Работа с файловой системой
Я делаю плеер на node-webkit, подскажите как через javascript, jquery или в крайнем случае через node.js можно производить поиск файлов mp3 по файловой системе или внутри определённой папки и возможно ли это вообще?
Ответить с цитированием
  #2 (permalink)  
Старый 02.07.2013, 12:56
Аспирант
Отправить личное сообщение для Romaboy Посмотреть профиль Найти все сообщения от Romaboy
 
Регистрация: 29.05.2013
Сообщений: 61

Вот почти то, что и хотелось. Немного неясно как заставить это искать mp3, но я справлюсь.
Ответить с цитированием
  #3 (permalink)  
Старый 02.07.2013, 13:03
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Romaboy
Я делаю плеер на node-webkit, подскажите как через javascript, jquery или в крайнем случае через node.js можно производить поиск файлов mp3 по файловой системе или внутри определённой папки и возможно ли это вообще?
Я делаю деревянный стол. Подскажите как через древесину, набор досок или в крайнем случае через деревообрабатывающий станок сделать ножку для стола?
Ответить с цитированием
  #4 (permalink)  
Старый 02.07.2013, 13:44
Аспирант
Отправить личное сообщение для Romaboy Посмотреть профиль Найти все сообщения от Romaboy
 
Регистрация: 29.05.2013
Сообщений: 61

Разве что-то неверно сказал? Вопрос был про поиск файлов на компе, довольно четко сформулирован. Я немного отредактировал скрипт со стакаоверфлёуа и теперь он исчет мп3 файлы в указанной папке:
var mp3find = /\.mp3$/;
  var fs = require('fs');
  var walk = function(dir, done) {
    var results = [];
    fs.readdir(dir, function(err, list) {
      if (err) return done(err);
      var pending = list.length;
      if (!pending) return done(null, results);
      list.forEach(function(file) {
        file = dir + '/' + file;
        fs.stat(file, function(err, stat) {
          if (stat && stat.isDirectory()) {
            walk(file, function(err, res) {
              results = results.concat(res);
              if (!--pending) done(null, results);
            });
          } else {
            if(mp3find.test(file)){results.push(file)}
            if (!--pending) done(null, results);
          }
        });
      });
    });
  };
  walk('D:\\node-webkit', function(err, results) {
  if (err) throw err;
  console.log(results);
  });

Не знаю пока, как обнаруживать разделы диска программно, но скоро узнаю. Совсем не откажусь от наводочки на то, как же все таки получить массив вроде ['C://','D://']

Последний раз редактировалось Romaboy, 02.07.2013 в 13:58.
Ответить с цитированием
  #5 (permalink)  
Старый 02.07.2013, 15:05
Аспирант
Отправить личное сообщение для Romaboy Посмотреть профиль Найти все сообщения от Romaboy
 
Регистрация: 29.05.2013
Сообщений: 61

Вот этот милый код кладёт названия дисков в массив:
var partfind = /[A-Z]:\s/;
  var partitions = [];

  var spawn = require('child_process').spawn,
    list  = spawn('cmd');

list.stdout.on('data', function (data) {
  console.log(''+data);
  if(partfind.test(data)){partitions.push((''+data)[0])}
});

list.stderr.on('data', function (data) {
  console.log('stderr: ' + data);
});

list.on('exit', function (code) {
  console.log(partitions);
  alert(partitions)
});

list.stdin.write('wmic logicaldisk get name\n');
list.stdin.end();

Только там кроме нужных ещё дисковод, дискетовод и дэймонтулз, но это не страшно.
Ответить с цитированием
  #6 (permalink)  
Старый 02.07.2013, 21:48
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Romaboy
Разве что-то неверно сказал?
А я разве что-то неверно спросил?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Front-end разработчик, работа удаленная или в офисе(Нижний Новгород), фуллтайм. VadimZharko Работа 8 29.04.2013 09:03
работа менеджером georgi Работа 1 29.03.2013 14:18
Javascript фронтенд разработчик(долгосрочная, удаленная работа) cpp Работа 11 16.09.2012 12:04
Программист JavaScript постоянная удалённая работа. moisha Работа 4 26.10.2011 19:52
Постоянная работа / Front-end / Москва kooper Работа 4 29.09.2011 22:06