@@ -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