Как удалить из папки все файлы которые меньше 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))
}
});
}
});