Node.JS dosya kontrol ettirme

JavaScript:
const fs = require('fs');
let data;
const hedefdosya = '../test.txt';
setInterval(() => {
  fs.access(hedefdosya, fs.constants.F_OK, (err) => {
    if (err) return;
    if (!data) data = fs.readFileSync(hedefdosya, 'utf8');
    let fileData = fs.readFileSync(hedefdosya, 'utf8');
    if (data !== fileData) {
      data = fileData;
      // do something
    }
  });
}, 3000);
Hocam bu kod çalışıyor ama bunu 2 dosyayı birden kontrol ettireni yazabilir misiniz? Teşekkür ederim.
 
Hocam bu kod çalışıyor ama bunu 2 dosyayı birden kontrol ettireni yazabilir misiniz? Teşekkür ederim.
İlk yanıtımda ikisini de paylaştım. Üstteki senin aldığın, alttaki de dosyanın kopyasını alıp onunla karşılaştırma yapan. Bu yanıtın altına da ekliyorum.
JavaScript:
const fs = require('fs');
const hedefdosya = '../test.txt';
setInterval(() => {
  fs.access('file.txt', fs.constants.F_OK, (err) => {
    if (err) fs.copyFileSync(hedefdosya, 'file.txt');
    const data = fs.readFileSync(hedefdosya, 'utf8');
    const data2 = fs.readFileSync('file.txt', 'utf8');
    if (data === data2) {
      console.log('Dosya aynı');
    } else {
      fs.writeFileSync('file.txt', data);
      console.log('Dosya değiştirildi');
      // do something
    }
  });
}, 3000);
 
İlk yanıtımda ikisini de paylaştım. Üstteki senin aldığın, alttaki de dosyanın kopyasını alıp onunla karşılaştırma yapan. Bu yanıtın altına da ekliyorum.
JavaScript:
const fs = require('fs');
const hedefdosya = '../test.txt';
setInterval(() => {
  fs.access('file.txt', fs.constants.F_OK, (err) => {
    if (err) fs.copyFileSync(hedefdosya, 'file.txt');
    const data = fs.readFileSync(hedefdosya, 'utf8');
    const data2 = fs.readFileSync('file.txt', 'utf8');
    if (data === data2) {
      console.log('Dosya aynı');
    } else {
      fs.writeFileSync('file.txt', data);
      console.log('Dosya değiştirildi');
      // do something
    }
  });
}, 3000);
Yok hocam demek istediğim test.txt gibi bir başka dosya daha var. İki dosyasında değişip değişmediğini kontrol ettirmek istiyorum.
 
Yok hocam demek istediğim test.txt gibi bir başka dosya daha var. İki dosyasında değişip değişmediğini kontrol ettirmek istiyorum.
Belirli bir konumdaki tüm "txt" uzantılı dosyaları kontrol edeceksen aşağıdaki kodu kullanabilirsin. Sadece belirli dosyalara bakmak istiyorsan let fileNames = fsreaddirSync(hedef)... satırını let fileNames = [ 'file.txt', 'file2.txt ] şeklinde kendi dosya isimlerine göre düzenle. const hedef = "" içinde de bakmak istediğin konumu ayarla.
JavaScript:
const fs = require('fs');
const hedef = 'D:/Users';
setInterval(() => {
  let fileNames = fs.readdirSync(hedef).filter(file => file.endsWith('.txt'));
  if (!fs.existsSync('./files')) {
    fs.mkdirSync('./files');
  }
  fileNames.forEach(file => {
    fs.access(`./files/${file}`, fs.constants.F_OK, (err) => {
      if (err) {
        fs.copyFileSync(`${hedef}/${file}`, `./files/${file}`);
      } else {
        let fileData = fs.readFileSync(`./files/${file}`, 'utf8');
        let newData = fs.readFileSync(`${hedef}/${file}`, 'utf8');
        if (fileData !== newData) {
          fs.copyFileSync(`${hedef}/${file}`, `./files/${file}`);
          console.log(`${file} changed`);
          // do something
        }
      }
    });
  });
}, 10000);
 

Yeni konular

Geri
Yukarı