有一个列表spisok列表中的每个项目都是某个文件夹的路径。
我们需要找到第一个空的(小于1 mb)文件夹,并将其路径写入itog变量,但必须将其放置在spisoklist中,后面跟着大小为100mb或更大的文件夹。
已尝试Nodejs 18软件包获取文件夹大小和getFolderSize函数,但不起作用。
使用Nodejs 18。使用内置文件系统工具实现文件夹大小确定。但在变量itog中,我只从列表中获得最后一个文件夹spisok,它的重量为41 mb...不符合小于1 mb的条件,并且列表中它的后面应该是超过100 mb的文件夹这也不起作用,因为在它之后列表中没有项目spisok。
代码:
// Step 1
const fs = require('fs');
const path = require('path');
const spisok = spisok;
// Declare variables
let pytkpystoypapke = ""; // path to found folder with size less than 1000000 bytes
let itog = ""; // path to found folder will be saved in this variable
// Loop through all folders in list "spisok"
for (let i = 0; i < spisok.length; i++) {
let folderSize = fs.statSync(spisok[i]).size; // get size of current folder
if (folderSize < 1000000) { // check if size is less than 1000000 bytes
if (i < spisok.length - 1) { // check if there is another folder in list "spisok"
let nextFolderSize = fs.statSync(spisok[i + 1]).size; // get size of next folder
if (nextFolderSize > 1000000) { // check if next folder size is greater than 1000000 bytes
pytkpystoypapke = spisok[i]; // save path to current folder in "pytkpystoypapke"
break; // exit the loop
}
} else {
pytkpystoypapke = spisok[i]; // save path to current folder in "pytkpystoypapke"
break; // exit the loop
}
}
}
itog = pytkpystoypapke; // save path to found folder in "itog" variable
// Output result
console.log(itog);
1条答案
按热度按时间8e2ybdfx1#
我自己找到了解决方案。下面是完成的代码,也许对某人有用: