Skip to content

Commit 528acf5

Browse files
committed
push
1 parent 3d546f3 commit 528acf5

10 files changed

Lines changed: 272 additions & 441 deletions

File tree

config.ts

Whitespace-only changes.

exe.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ export async function readline(prompt: string) {
135135
fatal: true,
136136
ignoreBOM: false
137137
}).decode(buf.subarray(0, i));
138-
return line;
138+
return line.trim();
139139
}catch{}
140140
}
141141
offset += data;

fixname.ts

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ async function main() {
101101
// 处理每个文件
102102
for (const file of files) {
103103
try {
104+
console.time('process');
104105
console.log(`处理文件: ${file}`);
105106

106107
// 读取文件内容
@@ -118,6 +119,7 @@ async function main() {
118119
// }
119120
// console.log(content);
120121
const content = Deno.readTextFileSync(file);
122+
console.timeLog('process', 'read file', file);
121123

122124
// 提取标题
123125
const extractedTitle = extractTitle(content, basename(file, '.txt'));
@@ -134,41 +136,45 @@ async function main() {
134136
console.log(` 当前文件名: ${currentName}`);
135137
console.log(` 提取的标题: ${extractedTitle}`);
136138
console.log(` 相似度: ${(sim * 100).toFixed(2)}%`);
139+
console.timeLog('process', 'extract title');
137140

138141
if (sim == 1){
139142
console.log(` 相似度为100%,跳过: ${file}\n`);
143+
console.timeEnd('process');
140144
continue;
141145
}
142146

143147
// 相似度阈值设定为0.3,可根据实际情况调整
144148
if (sim < 0.6) {
145149
console.log(` 相似度过低,可能误识别,跳过: ${file}\n`);
150+
console.timeEnd('process');
146151
continue;
147152
}
148153

149154
// 构建新文件名
150155
const newFilename = `${extractedTitle}.txt`;
151156

152-
// 避免重名冲突
153-
let finalNewFilename = newFilename;
154-
let counter = 1;
155-
156-
while (await fileExists(finalNewFilename)) {
157-
finalNewFilename = `${extractedTitle}${counter}.txt`;
158-
counter++;
157+
if (await fileExists(newFilename)) {
158+
// 比较大小
159+
const newFileSize = (await Deno.stat(newFilename)).size;
160+
if (newFileSize < content.length) {
161+
console.log(` 新文件大小 (${newFileSize}) 小于旧文件大小 (${content.length}),不替换\n`);
162+
console.timeEnd('process');
163+
continue;
164+
}
159165
}
160166

161167
// 重命名文件
162-
if (file !== finalNewFilename) {
163-
await Deno.rename(file, finalNewFilename);
164-
console.log(` 重命名为: ${finalNewFilename}\n`);
168+
if (file !== newFilename) {
169+
await Deno.rename(file, newFilename);
170+
console.log(` 重命名为: ${newFilename}\n`);
165171
renamedCount++;
166172
} else {
167173
console.log(` 文件名已正确,无需修改\n`);
168174
}
169-
175+
console.timeEnd('process');
170176
} catch (error) {
171-
console.error(` 处理文件时出错 ${file}:`, error);
177+
console.error(` 处理文件时出错 ${file}:`, error, error.stack);
172178
}
173179
}
174180

0 commit comments

Comments
 (0)