Mi código es:
var files = fs.readdirSync('./archivos/'); //itera todos los archivos
for (var a in files) {
if (fs.statSync('./archivos/'+files[a]).isFile()){
var nombreFile=files[a];
console.log(files[a]);
fs.readFile('./archivos/'+nombreFile, 'utf8', function(err, data) {
console.log(nombreFile); //solo muentra el ultimo File, como solucionar?, porque solo muestra el ultimo file???
var contentA=data;
escritorLector.escribirTraining(nombreFile,contentA);
for (var b in files) {
if(fs.statSync('./archivos/'+files[b]).isFile()){
if(nombreFile!=files[b]){
fs.readFile('./archivos/'+files[b], 'utf8', function(err, data) {
var contentB=data;
fs.readFile('./archivos/training/'+nombreFile, 'utf8', function(err, data) {
var contentAnterior=data;
var contentAB=contentAnterior+contentB;
console.log(contentAB);
escritorLector.escribirTraining(nombreFile,contentAB);
});
});
}
}
};
});
}
};
ese código trabaja en 2 carpetas los cuales son:
./archivos/
./archivos/training/
La lógica del código de arriba es:
*obtener el contenido de todos los fichero
*crear un archivo nuevo en ./archivos/training/ para cada archivo y poner todos los contenidos de todos los archivos
*hacer eso para todos los archivos, es decir crear para cada archivo de ./archivos/ su archivo de union en ./archivos/training/
*en el codigo,comente lo siguiente
Citarconsole.log(nombreFile); //solo muentra el ultimo File, como solucionar?, porque solo muestra el ultimo file???