跳至主要內容

删除 CocosCreator 项目中多余的 meta 文件

muzzik小于 1 分钟笔记CocosCocosCreator

在 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");

📣 觉得很赞?分享给你的朋友吧!