由于知网下载的文献是 篇名_作者 的格式,因此在导入NoteExpress中时自动读取PDF文件标题为篇名,NE的智能(弱智)更新是会失效的。
所以干脆做了个脚本一键重命名,能省去手动更新题录百分之八九十的工作量,脚本如下:
import os
def rename_files(folder_path):
for root, dirs, files in os.walk(folder_path):
for file_name in files:
if file_name.endswith('.pdf'):
# 获取文件名(不包含后缀)
base_name = os.path.splitext(file_name)[0]
# 判断文件名的最后五到六位是否包含_符号
if '_' in base_name[-6:]:
# 删除_符号以及符号之后的内容
new_name = base_name[:base_name.rindex('_')] + '.pdf'
else:
new_name = base_name + '.pdf'
# 判断新文件名中是否含有...(三个英文句号)符号
if '...' in new_name:
# 删除...符号
new_name = new_name.replace('...', '')
# 构建新的文件路径
new_path = os.path.join(root, new_name)
# 重命名文件
os.rename(os.path.join(root, file_name), new_path)
print(f'Renamed {file_name} to {new_name}')
# 测试
folder_path = input('请输入文件夹路径:')
rename_files(folder_path)
只需要輸入文件夹路径就可以批量处理所有PDF文献(包含子文件夹), 应对的是一般情况。经过重命名处理后的文献再导入NE就可以匹配上绝大多数题录了。
这个方法会失效的情况:
1.作者名五个字以上
2.篇名太长,下载的时候会折叠出省略号 ...,这样的文献也是没办法一键识别成功的
剩下智能更新失效的部分就只能一个一个点手动更新+知网数据库+篇名相关搜索了。