+ico
30
.gitignore
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
lerna-debug.log*
|
||||
|
||||
node_modules
|
||||
.DS_Store
|
||||
dist
|
||||
dist-ssr
|
||||
coverage
|
||||
*.local
|
||||
|
||||
/cypress/videos/
|
||||
/cypress/screenshots/
|
||||
|
||||
# Editor directories and files
|
||||
.vscode/*
|
||||
!.vscode/extensions.json
|
||||
.idea
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
|
||||
*.tsbuildinfo
|
||||
@@ -108,12 +108,19 @@ function generateDirectoryTree(dir, currentDepth = 0, parentFolders = []) {
|
||||
info.tags = jsInfo.tags;
|
||||
}
|
||||
} else {
|
||||
info.children = fs.readdirSync(dir).map(child => {
|
||||
const childPath = path.join(dir, child);
|
||||
return generateDirectoryTree(childPath, currentDepth + 1, [...parentFolders, info.name]);
|
||||
});
|
||||
info.children = fs.readdirSync(dir)
|
||||
.filter(child => !['desktop.ini', 'icon.ico'].includes(child)) // 过滤掉 desktop.ini 和 icon.ico
|
||||
.map(child => {
|
||||
const childPath = path.join(dir, child);
|
||||
return generateDirectoryTree(childPath, currentDepth + 1, [...parentFolders, info.name]);
|
||||
});
|
||||
}
|
||||
} else {
|
||||
// 如果是 desktop.ini 或 icon.ico 文件,直接返回 null
|
||||
if (['desktop.ini', 'icon.ico'].includes(info.name)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const hash = calculateSHA1(dir);
|
||||
info.hash = hash;
|
||||
info.version = hash.substring(0, 7);
|
||||
|
||||
34
build/icon/1.filter.js
Normal file
@@ -0,0 +1,34 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
// 读取JSON文件
|
||||
const jsonPath = 'E:\\HuiTask\\更好的原神\\2.资料\\图标处理\\Material.json';
|
||||
const jsonData = JSON.parse(fs.readFileSync(jsonPath, 'utf8'));
|
||||
|
||||
// 设置源文件夹和目标文件夹
|
||||
const sourceDir = 'E:\\HuiTask\\更好的原神\\2.资料\\图标处理\\ItemIcon-tiny';
|
||||
const targetDir = 'E:\\HuiTask\\更好的原神\\2.资料\\图标处理\\newPng';
|
||||
|
||||
// 确保目标文件夹存在
|
||||
if (!fs.existsSync(targetDir)) {
|
||||
fs.mkdirSync(targetDir, { recursive: true });
|
||||
}
|
||||
|
||||
// 读取源文件夹中的所有文件
|
||||
fs.readdirSync(sourceDir).forEach(file => {
|
||||
const fileName = path.parse(file).name; // 获取文件名(不含扩展名)
|
||||
|
||||
// 在JSON数据中查找匹配项
|
||||
const matchedItem = jsonData.find(item => item.Icon === fileName);
|
||||
|
||||
if (matchedItem) {
|
||||
const sourcePath = path.join(sourceDir, file);
|
||||
const targetPath = path.join(targetDir, `${matchedItem.Name}.png`);
|
||||
|
||||
// 复制并重命名文件
|
||||
fs.copyFileSync(sourcePath, targetPath);
|
||||
console.log(`已复制并重命名: ${file} -> ${matchedItem.Name}.png`);
|
||||
}
|
||||
});
|
||||
|
||||
console.log('处理完成');
|
||||
43
build/icon/2.match.js
Normal file
@@ -0,0 +1,43 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
// 定义路径
|
||||
const pathingDir = 'D:\\HuiPrograming\\Projects\\CSharp\\MiHoYo\\bettergi-scripts-list\\repo\\pathing';
|
||||
const pngDir = 'E:\\HuiTask\\更好的原神\\2.资料\\图标处理\\newPng';
|
||||
const outputDir = 'E:\\HuiTask\\更好的原神\\2.资料\\图标处理\\matchedPng';
|
||||
|
||||
// 确保输出目录存在
|
||||
if (!fs.existsSync(outputDir)) {
|
||||
fs.mkdirSync(outputDir);
|
||||
}
|
||||
|
||||
// 读取 pathing 目录下的所有文件夹名称
|
||||
fs.readdir(pathingDir, { withFileTypes: true }, (err, entries) => {
|
||||
if (err) {
|
||||
console.error('读取 pathing 目录时出错:', err);
|
||||
return;
|
||||
}
|
||||
|
||||
// 过滤出目录
|
||||
const directories = entries.filter(entry => entry.isDirectory()).map(dir => dir.name);
|
||||
|
||||
// 遍历目录名称
|
||||
directories.forEach(dirName => {
|
||||
const pngPath = path.join(pngDir, `${dirName}.png`);
|
||||
const outputPath = path.join(outputDir, `${dirName}.png`);
|
||||
|
||||
// 检查对应的 PNG 文件是否存在
|
||||
if (fs.existsSync(pngPath)) {
|
||||
// 复制文件
|
||||
fs.copyFile(pngPath, outputPath, err => {
|
||||
if (err) {
|
||||
console.error(`复制 ${dirName}.png 时出错:`, err);
|
||||
} else {
|
||||
console.log(`成功复制 ${dirName}.png 到 matchedPng 文件夹`);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
console.log(`未找到对应的 PNG 文件: ${dirName}.png`);
|
||||
}
|
||||
});
|
||||
});
|
||||
57
build/icon/3.icon.js
Normal file
@@ -0,0 +1,57 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const { exec } = require('child_process');
|
||||
|
||||
// 定义路径
|
||||
const sourcePath = 'D:\\HuiPrograming\\Projects\\CSharp\\MiHoYo\\bettergi-scripts-list\\repo\\pathing';
|
||||
const iconSourcePath = 'E:\\HuiTask\\更好的原神\\2.资料\\图标处理\\matchedIco';
|
||||
const desktopIniPath = 'E:\\HuiTask\\更好的原神\\2.资料\\图标处理\\desktop.ini';
|
||||
|
||||
// 读取源目录
|
||||
fs.readdir(sourcePath, { withFileTypes: true }, (err, entries) => {
|
||||
if (err) {
|
||||
console.error('读取源目录时出错:', err);
|
||||
return;
|
||||
}
|
||||
|
||||
// 遍历每个目录
|
||||
entries.filter(entry => entry.isDirectory()).forEach(dir => {
|
||||
const dirPath = path.join(sourcePath, dir.name);
|
||||
const iconSourceFile = path.join(iconSourcePath, `${dir.name}.ico`);
|
||||
const iconDestFile = path.join(dirPath, 'icon.ico');
|
||||
const desktopIniDestFile = path.join(dirPath, 'desktop.ini');
|
||||
|
||||
// 检查图标源文件是否存在
|
||||
if (!fs.existsSync(iconSourceFile)) {
|
||||
console.log(`警告:${dir.name} 的图标文件不存在,跳过所有操作`);
|
||||
return; // 跳过当前目录的所有后续操作
|
||||
}
|
||||
|
||||
// 复制图标文件
|
||||
fs.copyFile(iconSourceFile, iconDestFile, (err) => {
|
||||
if (err) {
|
||||
console.error(`复制图标文件到 ${dir.name} 时出错:`, err);
|
||||
return; // 如果复制图标失败,跳过后续操作
|
||||
}
|
||||
console.log(`成功复制图标文件到 ${dir.name}`);
|
||||
|
||||
// 复制desktop.ini文件
|
||||
fs.copyFile(desktopIniPath, desktopIniDestFile, (err) => {
|
||||
if (err) {
|
||||
console.error(`复制desktop.ini到 ${dir.name} 时出错:`, err);
|
||||
return; // 如果复制desktop.ini失败,跳过后续操作
|
||||
}
|
||||
console.log(`成功复制desktop.ini到 ${dir.name}`);
|
||||
|
||||
// 执行cmd命令
|
||||
exec(`attrib +R "${dirPath}"`, (err, stdout, stderr) => {
|
||||
if (err) {
|
||||
console.error(`执行attrib命令时出错 ${dir.name}:`, err);
|
||||
return;
|
||||
}
|
||||
console.log(`成功为 ${dir.name} 设置只读属性`);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
2
repo/pathing/嘟嘟莲/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/嘟嘟莲/icon.ico
Normal file
|
After Width: | Height: | Size: 36 KiB |
2
repo/pathing/圣遗物/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/圣遗物/icon.ico
Normal file
|
After Width: | Height: | Size: 47 KiB |
2
repo/pathing/小灯草/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/小灯草/icon.ico
Normal file
|
After Width: | Height: | Size: 36 KiB |
2
repo/pathing/幽光星星/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/幽光星星/icon.ico
Normal file
|
After Width: | Height: | Size: 31 KiB |
2
repo/pathing/幽灯蕈/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/幽灯蕈/icon.ico
Normal file
|
After Width: | Height: | Size: 34 KiB |
2
repo/pathing/悼灵花/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/悼灵花/icon.ico
Normal file
|
After Width: | Height: | Size: 42 KiB |
2
repo/pathing/慕风蘑菇/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/慕风蘑菇/icon.ico
Normal file
|
After Width: | Height: | Size: 38 KiB |
2
repo/pathing/日落果/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/日落果/icon.ico
Normal file
|
After Width: | Height: | Size: 29 KiB |
2
repo/pathing/星螺/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/星螺/icon.ico
Normal file
|
After Width: | Height: | Size: 39 KiB |
2
repo/pathing/月莲/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/月莲/icon.ico
Normal file
|
After Width: | Height: | Size: 46 KiB |
2
repo/pathing/柔灯铃/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/柔灯铃/icon.ico
Normal file
|
After Width: | Height: | Size: 34 KiB |
2
repo/pathing/沉玉仙茗/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/沉玉仙茗/icon.ico
Normal file
|
After Width: | Height: | Size: 41 KiB |
2
repo/pathing/浪沫羽鳃/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/浪沫羽鳃/icon.ico
Normal file
|
After Width: | Height: | Size: 31 KiB |
2
repo/pathing/海灵芝/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/海灵芝/icon.ico
Normal file
|
After Width: | Height: | Size: 42 KiB |
2
repo/pathing/湖光铃兰/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/湖光铃兰/icon.ico
Normal file
|
After Width: | Height: | Size: 42 KiB |
2
repo/pathing/灼灼彩菊/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/灼灼彩菊/icon.ico
Normal file
|
After Width: | Height: | Size: 40 KiB |
2
repo/pathing/珊瑚真珠/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/珊瑚真珠/icon.ico
Normal file
|
After Width: | Height: | Size: 28 KiB |
2
repo/pathing/琉璃百合/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/琉璃百合/icon.ico
Normal file
|
After Width: | Height: | Size: 40 KiB |
2
repo/pathing/琉璃袋/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/琉璃袋/icon.ico
Normal file
|
After Width: | Height: | Size: 36 KiB |
2
repo/pathing/甜甜花/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/甜甜花/icon.ico
Normal file
|
After Width: | Height: | Size: 37 KiB |
2
repo/pathing/石珀/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/石珀/icon.ico
Normal file
|
After Width: | Height: | Size: 33 KiB |
2
repo/pathing/竹笋/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/竹笋/icon.ico
Normal file
|
After Width: | Height: | Size: 31 KiB |
2
repo/pathing/绝云椒椒/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/绝云椒椒/icon.ico
Normal file
|
After Width: | Height: | Size: 22 KiB |
2
repo/pathing/肉龙掌/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/肉龙掌/icon.ico
Normal file
|
After Width: | Height: | Size: 44 KiB |
2
repo/pathing/胡萝卜/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/胡萝卜/icon.ico
Normal file
|
After Width: | Height: | Size: 22 KiB |
2
repo/pathing/苦种/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/苦种/icon.ico
Normal file
|
After Width: | Height: | Size: 38 KiB |
2
repo/pathing/茉洁草/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/茉洁草/icon.ico
Normal file
|
After Width: | Height: | Size: 39 KiB |
2
repo/pathing/落落莓/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/落落莓/icon.ico
Normal file
|
After Width: | Height: | Size: 29 KiB |
2
repo/pathing/虹彩蔷薇/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/虹彩蔷薇/icon.ico
Normal file
|
After Width: | Height: | Size: 38 KiB |
2
repo/pathing/血斛/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/血斛/icon.ico
Normal file
|
After Width: | Height: | Size: 52 KiB |
2
repo/pathing/金鱼草/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/金鱼草/icon.ico
Normal file
|
After Width: | Height: | Size: 38 KiB |
2
repo/pathing/钩钩果/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/钩钩果/icon.ico
Normal file
|
After Width: | Height: | Size: 41 KiB |
2
repo/pathing/霓裳花/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/霓裳花/icon.ico
Normal file
|
After Width: | Height: | Size: 49 KiB |
2
repo/pathing/青蜜莓/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/青蜜莓/icon.ico
Normal file
|
After Width: | Height: | Size: 33 KiB |
2
repo/pathing/须弥蔷薇/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/须弥蔷薇/icon.ico
Normal file
|
After Width: | Height: | Size: 41 KiB |
2
repo/pathing/风车菊/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/风车菊/icon.ico
Normal file
|
After Width: | Height: | Size: 40 KiB |
2
repo/pathing/鸟蛋/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/鸟蛋/icon.ico
Normal file
|
After Width: | Height: | Size: 30 KiB |
2
repo/pathing/鸣草/desktop.ini
Normal file
@@ -0,0 +1,2 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=icon.ico
|
||||
BIN
repo/pathing/鸣草/icon.ico
Normal file
|
After Width: | Height: | Size: 36 KiB |