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