Как удалить из папки все файлы которые меньше 100 байт?

Хочу реализовать удаление из папки C:\Users\userprofile\Downloads\ppp всех файлов меньше 100 байт?

Вот такой код использую , но где то ошибка:

const fs = require('fs');
const path = 'c:\\Users\\userprofile\\Downloads\\ppp';
const max = 100
 
fs.readdir(path, (err, items) => {
    for (let i=0; i<items.length; i++) {
        const file = path + '\\' + items[i];
        (file => fs.stat(file, (err, stats) => {
      if (!stats.isFile()) return
      if (stats.size < max) {
        console.log('Удаление файла', file);
        console.log(stats.size);
        fs.unlinkSync(file, err => console.log(err))
      }
        }))(file);
    }
});


Ответы (1 шт):

Автор решения: ksa

Вот такой код использую , но где то ошибка:

Немного изменил твою программу. Мой вариант работает без проблем. Возможно у тебя проблемы с доступом, к нужному тебе, каталогу... Поскольку ты не указал какую именно ошибку получаешь.

Так же, для работы с путями, желательно использовать модуль path.

const fs = require('fs');
const path = require('path')

const p = path.join('c:', 'users', 'userprofile', 'tmp')
const max = 100
fs.readdir(p, (err, items) => {
    if (err) return console.log(err)
    for (let i=0; i < items.length; i++) {
        const file =  path.join(p, items[i]);
        fs.stat(file, (err, stats) => {
            if (!stats.isFile()) return
            if (stats.size < max) {
                console.log('Удаление файла', file, 'Размер', stats.size);
                fs.unlinkSync(file, err => console.log(err))
            }
        });
    }
});
→ Ссылка