之前续写抖音开发者接入字节小游戏的缓存一下,现在说一下在 Windows 或者 Mac 如何用终端更换路径?

window:

比方说你的 window 目录下是这个路径:

第一:E:\project\Q1\trunk\client\src,然后你想切换到下一个路径的话,你可以这样子操作:

第二:E:\project\Q1\trunk\client\src> cd .\usersetting 然后回车,这里不会计较大小写

第三:你就可以在这个目录下执行你的脚本:E:\project\Q1\trunk\client\src\usersetting>

比如我是在E:\project\Q1\trunk\client\src\usersetting>下面有一个 js 脚本的那么你就可以执行下面这行操作,前提你要安装 node.js哦E:\project\Q1\trunk\client\src\usersetting> node .\imgmetachange.js然后回车即可;

然后就可以实现 window 的所有操作了,如果你想回到上一个目录的话.你可以这样子操作:

E:\project\Q1\trunk\client\src\usersetting>cd ..//(输入 cd..)两点就回车就可以回到上一个目录啦

E:\project\Q1\trunk\client\src>

===============以上是针对 window 操作系统的哈====================

macOS 系统操作如何下:

第一:zghMacBook-Pro:~ zghMacBookPro$ cd desktop//回车就可以指定你的桌面所有的内容,如果你想指定桌面的某一个文件

第二:你可以输入:zghMacBook-Pro:desktop zhengguohai$ cd 好了之后看然后回车就可以看见这个目录:zghMacBook-Pro:好看 zghMacBookPro$,如果你想在里面找某一个文件你可以这样子

第三:输入:zghMacBook-Pro:好看 zghMacBookPro$ ls回车就回出现很多文件夹,如果你想返回上一个目录的话,你可以输入:zghMacBook-Pro:好看 zghMacBookPro$ cd就会得到这个目录:zghMacBook-Pro:~ zghMacBookPro$ cd

===========以上就是针对 macOS 系统的目录如何更换目录的方法啦======

这个 imgmetachege.js 如下:


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

const projectPath = path.join(__dirname, "../assets/resources"); // 目录

const platformSettings = {
    "default": {
        "formats": [
            {
                "name": "astc_6x6",
                "quality": "exhaustive"
            },
            {
                "name": "webp",
                "quality": 80
            }
        ]
    },
    "android": {
        "formats": [
            {
                "name": "astc_6x6",
                "quality": "exhaustive"
            }
        ]
    },
    "ios": {
        "formats": [
            {
                "name": "astc_6x6",
                "quality": "exhaustive"
            }
        ]
    },
    "web": {
        "formats": [
            {
                "name": "astc_8x8",
                "quality": "exhaustive"
            },
            {
                "name": "webp",
                "quality": 80
            }
        ]
    },
    "minigame": {
        "formats": [
            {
                "name": "astc_8x8",
                "quality": "exhaustive"
            },
            {
                "name": "webp",
                "quality": 80
            },
            {
              "name": "png",
              "quality": 80
            }
        ]
    }
}

const platformSettingsJPG = {
    "default": {
        "formats": [
            {
                "name": "astc_6x6",
                "quality": "exhaustive"
            },
            {
                "name": "webp",
                "quality": 80
            }
        ]
    },
    "android": {
        "formats": [
            {
                "name": "astc_6x6",
                "quality": "exhaustive"
            }
        ]
    },
    "ios": {
        "formats": [
            {
                "name": "astc_6x6",
                "quality": "exhaustive"
            }
        ]
    },
    "web": {
        "formats": [
            {
                "name": "astc_8x8",
                "quality": "exhaustive"
            },
            {
                "name": "webp",
                "quality": 80
            }
        ]
    },
    "minigame": {
        "formats": [
            {
                "name": "astc_8x8",
                "quality": "exhaustive"
            },
            {
                "name": "webp",
                "quality": 80
            },
            {
              "name": "jpg",
              "quality": 80
            }
        ]
    }
}

let num = 0;
function checkImgDir(dir) {
    if (fs.existsSync(dir))
    {
        let dirList = [];
        let pngList = [];
        let jpgList = [];
        let hasPac = false;
        let fileList = fs.readdirSync(dir);
        for (let file of fileList)
        {
            let filePath = path.join(dir, file);
            // 判断是文件还是目录
            let stats = fs.statSync(filePath);
            if (stats.isDirectory())
            {
                dirList.push(filePath);
            } else if (stats.isFile())
            {
                if (file.endsWith(".pac.meta"))
                {
                    hasPac = true;
                    writeFileSync(filePath, "pac");
                    break;
                } else if (file.endsWith(".png.meta"))
                {
                    pngList.push(filePath);
                } else if (file.endsWith(".jpg.meta"))
                {
                    jpgList.push(filePath);
                }
            }
        }
        if (!hasPac)
        {
            for (let i in dirList)
            {
                checkImgDir(dirList[i]);
            }
            for (let filePath of pngList)
            {
                writeFileSync(filePath, "png");
            }
            for (let filePath of jpgList)
            {
                writeFileSync(filePath, "jpg");
            }
        }
    }
}

function writeFileSync(filePath, type) {
    num++;
    let content = fs.readFileSync(filePath, "utf-8");
    let obj = JSON.parse(content);
    obj['platformSettings'] = platformSettings;
    if (type == "pac")
    {
        obj['filterUnused'] = false;
    }
    if(type == "jpg")
    {
        obj['platformSettings'] = platformSettingsJPG;
    }
    fs.writeFileSync(filePath, JSON.stringify(obj, null, 2), "utf-8");
}


var time = Date.now();
console.log('---开始查询---');
checkImgDir(projectPath);
console.log('---修改结束,耗时:' + (Date.now() - time) + "ms" + " 修改文件数:" + num);


 

  • 32
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值