删除 CocosCreator 项目中多余的 meta 文件
小于 1 分钟
在 CocosCreator 中,最近的版本不会删除多余的 meta 文件(只有 meta 文件而没有对应文件)
直接用 GPT 生成的代码改了下,直接用 ts-node 运行就行,deleteMetaFiles 参数替换为自己项目的路径
import fs from "fs";
import path from "path";
function deleteMetaFiles(folderPath: string) {
// 读取文件夹中的内容
fs.readdir(folderPath, (err, files) => {
if (err) {
console.error("Error reading folder:", err);
return;
}
// 遍历文件夹中的每个文件或文件夹
files.forEach((file) => {
const filePath = path.join(folderPath, file);
// 检查当前路径是否是文件夹
fs.stat(filePath, (err, stats) => {
if (err) {
console.error("Error retrieving file stats:", err);
return;
}
if (stats.isDirectory()) {
// 如果是文件夹,则递归调用 deleteMetaFiles() 函数来处理子文件夹
deleteMetaFiles(filePath);
} else if (filePath.endsWith(".meta")) {
// 如果是文件,并且存在相应的 .meta 文件,则删除它
const metaFilePath = filePath.slice(0, -5);
if (!fs.existsSync(metaFilePath)) {
fs.unlink(filePath, (err) => {
if (err) {
console.error("Error deleting .meta file:", err);
} else {
console.log("Deleted .meta file:", filePath);
}
});
}
}
});
});
});
}
// 调用函数开始遍历并删除单独的 .meta 文件
deleteMetaFiles("I:/creator/mk_framework/assets");