zonghe-lmraaa v1.0.0
#这是一个复制和删除的综合案例!!!
//1.封装函数 const copyFn = (add, del) => { //2.判断起始文件是否存在 如果不存在则不能复制 if (!fs.existsSync(add)) { throw new Error("源文件不存在" + add); return; } //3.判断目标文件是否存在 如果存在则不能复制 if (fs.existsSync(del)) { throw new Error("目标文件已存在" + del); return; } //4.创建目标文件 fs.mkdirSync(del); //5.遍历起始文件下的所有子目录 fs.readdirSync(add).forEach(item => { //6.拼接地址 如果不加父目录的话默认在当前目录查找 所以就查找不到 let addMidd = add + "/" + item; let delMidd = del + "/" + item; //7.判断起始文件是否是文件 if (fs.statSync(addMidd).isFile()) { //8.如果是则删除 fs.copyFileSync(addMidd, delMidd); } else { //9.如果不是继续调用函数复制子目录下的子文件 copyFn(addMidd, delMidd) } }) } copyFn("swiper", "aaa");
const del = (pathDir) => { //2.查看当前目录的所有子目录
//3.遍历所有子目录
fs.readdirSync(pathDir).forEach(item => {
//4.拼接地址 如果不加父目录的话默认在当前目录查找 所以就查找不到
let src = pathDir + "/" + item;
//5.读取文件夹信息
//6.判断是否是文件
if (fs.statSync(src).isFile()) {
//7.删除文件
fs.unlinkSync(src);
} else {
//8.调用递归继续删除子目录下的文件
del(src);
}
})
//9.删除目录
fs.rmdirSync(pathDir);
}
del("ttt");
5 years ago