Я сделал программу с cron npm для копирования файла из каталога в другой каталог один раз в 5 минут, например, если в исходном каталоге нет файла, он должен сказать, что файл не существует, это мой код

const cron = require("node-cron");
const ncp = require('ncp').ncp;
const fs = require("fs");

var source = './temp';
var destination = './lib';

cron.schedule("*/5 * * * *", function () {
    ncp(source, destination, function (err) {
        if (err) {
            return console.error(err);
        }
        console.log('done!');
    });
});

В моем случае, если процесс прошел успешно, его печать Готово! и даже если в источнике нет файла, его печать Готово, но я хочу распечатать Файл не существует, может ли кто-нибудь мне помочь

0
Dark Ninja 24 Окт 2018 в 08:35

2 ответа

Лучший ответ

Вот мое решение: вы можете использовать readdir для проверки содержимого исходной папки. Если количество файлов больше 0, скопируйте их, в остальном ничего не делайте.

Надеюсь, что это ответ на ваш вопрос.

const cron = require("node-cron");
const ncp = require('ncp').ncp;
const fs = require("fs");

var source = './temp';
var destination = './lib';

cron.schedule("*/5 * * * *", function() {

    fs.readdir(source, function(err, files) {
        if (err) {
            return console.error(err);
        }
        if (files.length === 0) {
            console.log('empty folder!');
        } else {
            ncp(source, destination, function(err) {
                if (err) {
                    return console.error(err);
                }
                console.log('done!');
            });
        }
    })
});
0
Vivek Molkar 24 Окт 2018 в 06:01

Вы можете использовать fs.existsSync (path)

Он вернет true, если путь существует, иначе false.

Попробуй это

if (!fs.existsSync(path)) {
  console.log('No file exists');
}
1
Saurabh Agrawal 24 Окт 2018 в 06:34
52961677