var fs = require('fs'),
files = [];
var cfg = {
pathFrom: 'D:/music/vk',
pathTo: './music',
number: 4,
deletePrevious: true,
};
(function() {
console.log('\nИщем файлы в ' + cfg.pathTo);
var prevFiles = fs.readdirSync(cfg.pathTo);
console.log('Найдено ' + prevFiles.length + ' файлов')
if (cfg.deletePrevious && (prevFiles.length !== 0) ) {
var count = 0;
console.log('Файлы уничтожаются...')
for (var i in prevFiles) {
fs.unlinkSync(cfg.pathTo + '/' + prevFiles[i])
count++;
};
console.log('Удалено ' + count + ' файлов')
}
})();
(function() {
console.log('\nИщем файлы в ' + cfg.pathFrom)
files = fs.readdirSync(cfg.pathFrom)
console.log('Найдено ' + files.length + ' файлов\n');
if (files.length < cfg.number) {
cfg.number = files.length
};
})();
(function() {
var count = 0;
fls = [];
console.log('Выбираем рандомные композиций в кол-ве ' + cfg.number + ' штук')
while(true) {
if (count == cfg.number) {
break;
}
var randNumber = Math.random() * files.length | 0,
flag = false;
for (var i in fls) {
if (fls[i] == randNumber) {
flag = true;
break;
}
};
if (flag) continue;
fls.push(randNumber);
count++;
};
console.log('Загружаем песни плеер, ждите...\n')
for (var i in fls) {
var name = files[fls[i]];
console.log(' Копируем ' + name.substring(0, 50) + '...');
var source = fs.readFileSync(cfg.pathFrom + '/' + name),
target = fs.writeFileSync(cfg.pathTo + '/' + name, source);
console.log(' --- готово\n');
}
console.log('Песни загруены\n')
})();
console.log('Нажмите ENTER для выхода')
process.stdin.on('readable', function() {
var chunk = process.stdin.read();
if (chunk) {
process.exit();
}
});