今天整理博客,发现我给文章取的文件名比较混乱,要找文章的时候会很不方便。
一般我们都是用hexo new file_name
创建文章的md文件的,然后文章的标题是在md文件的信息栏定义的。而我们很多时候是开始写文章才想好标题,随着写作标题也会发生变动,这导致最后我们文章标题和文件名是不同的,加大了我们的管理难度。
所以我们会在改动文章标题的时候,将文件名也改成一样的。但是这样手动改非常麻烦。因此我配合ChatGPT用Python写了个一键批量修改文件名的小脚本。这样我们就可以很方便的一键将文件名全部都同步成文章的标题。
使用方法
方法1. exe文件
脚本已经打包成exe文件,大家可以直接下载使用,下载后放到_posts
文件夹下运行即可。
https://wwf.lanzoum.com/icY4q1ufi7na 密码:ff6u
注意:如果标题中有不支持的特殊符号,会导致运行失败。可以往下看,自行用python调整源代码后运行
记得运行完后将脚本移出文件夹,防止被上传。
方法2. python运行
如果有调试需求,大家也可以自己用python编译使用。
下面是方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| import os
dir_path = "./"
i = 0
for file in os.listdir(dir_path):
## Skip '.' and '..'
if file == "." or file == "..":
continue
## Construct the full path to the file
file_path = os.path.join(dir_path, file)
## Read the file
try:
with open(file_path, 'r', encoding='utf-8') as f:
lines = f.readlines()
except UnicodeDecodeError:
print(f"Skipping file due to encoding issue: {file}")
continue
## Skip files with less than 2 lines
if len(lines) < 2:
continue
## Extract and process the title from the second line
title = lines[1].strip().replace('title:', '').strip()
## Remove any marks from the title
title = title.replace('?', '')
title = title.replace('|', '-')
## Rename
new_filename = title + '.md'
new_file_path = os.path.join(dir_path, new_filename)
os.rename(file_path, new_file_path)
i += 1
print(i)
|
自己做脚本优化了一下博客工作流,成就感满满。
另外,去年我一直是随缘更博客,接下来我会开始有规律性的定期发文章,分享我的生活和学习到的知识。做博客的精髓在于长期坚持,一直有新内容才会有人关注。一起加油吧😊