使用node遍历文件夹,并且压缩文件夹里面内容

本文介绍了如何使用Node.js在朋友提供的10个文件夹下分别创建新文件和使用gltf-pipeline进行压缩,通过`fs`和`shelljs`模块实现自动化操作,提高了效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.起因:朋友说,有10个文件夹,想在这10个文件夹下面都新增一个文件,手写一个个麻烦

        1.npm init -y 会生成package.json文件

        2.新建nodes文件夹,里面在新建几个文件夹,目录如下

const fs = require("fs");

// 读取目录
fs.readdir("./nodes", (err, data) => {
  const dirList = data;
  // 创建文件
  dirList.forEach((item) => {
    fs.writeFile(`./nodes/${item}/${item}write.txt`, "你好", (err) => {
      if (err) {
        console.log(err);
        return;
      }
      console.log("写入成功");
    });
  });
});

2.

        1.先安装插件 npm i -g  gltf-pipeline npm i shelljs

        2.执行压缩和新建文件思路差不多,只不过把新建换成压缩命令

const fs = require("fs");

const shell = require("shelljs");

// 读取目录
fs.readdir("./nodes", (err, data) => {
  data.forEach((item) => {
    shell.cd("nodes");
    shell.cd(item);
    const { code } = shell.exec(
      "gltf-pipeline -i uav.gltf -o uavDraco.gltf -d"
    );
    if (code !== 0) {
      console.log("压缩失败");
      return;
    }
    console.log("压缩成功");
    shell.cd("..");
    shell.cd("..");
  });
});

3.发给他后

const fs = require("fs");

const process = require("child_process");

fs.readdir("./nodes", (err, data) => {
  data.forEach((item) => {
    process.exec(
      `gltf-pipeline -i ./nodes/${item}/uav.gltf -o ./nodes/${item}/uavDraco.gltf -d`
    );
  });
});

运行出来效果展示

以上纯属自己理解,如有不当,欢迎评论指出 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值