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);
?