如题
印象和 notion 过来的报个到!
笔记的创建时间对我而言是很重要的因素,有什么办法可以修改吗?
这两天从大象和 notion 倒过来大量笔记,创建时间都是这两天的。让我很纠结,茶饭不思!
如我大象的笔记,时间也代表了一种笔记,请问各路大神有没有办法修改啊,在线等,挺急的!!!
如题
印象和 notion 过来的报个到!
笔记的创建时间对我而言是很重要的因素,有什么办法可以修改吗?
这两天从大象和 notion 倒过来大量笔记,创建时间都是这两天的。让我很纠结,茶饭不思!
如我大象的笔记,时间也代表了一种笔记,请问各路大神有没有办法修改啊,在线等,挺急的!!!
感谢各路大神回复啊,我写了个脚本可以批量修改创建时间,如果需要可以交流使用:)
改完要确实要重建索引:)
```python
import os
import json
import re
def process_files(directory_path):
mapping_array = []
# 遍历 SiYuan/data 目录下所有 .sy 结尾的文件
for root, dirs, files in os.walk(directory_path):
for file in files:
if file.endswith(".sy"):
file_path = os.path.join(root, file)
# 提取文件名中的时间和唯一码
match = re.match(r'(\d+)-(\w+)\.sy', file)
if match:
create_time, file_key = match.groups()
else:
continue
# 读取 JSON 文件内容,根据这个title你可以确定笔记创建时间(从其他笔记应用导过来)
with open(file_path, 'r', encoding='utf-8') as json_file:
data = json.load(json_file)
title_content = data.get("Properties", {}).get("title", "")
# 生成映射数组
mapping = {
'key': file_key,
'title': title_content,
'real_create_time': '',
'filePath': file_path
}
mapping_array.append(mapping)
# 将映射数组保存到 mappings.txt 文件中
with open('mappings.txt', 'w', encoding='utf-8') as mappings_file:
json.dump(mapping_array, mappings_file, ensure_ascii=False, indent=2)
# 替换你思源本地数据绝对路径
directory_path = '/Users/yourdir/SiyuanTestCanDelete/data'
process_files(directory_path)
import json
import re
import os
def replace_time_in_files(mapping_array):
for mapping in mapping_array:
# 只有当 real_create_time 不为空时才执行替换操作
if mapping['real_create_time']:
old_file_path = mapping['filePath']
# 读取旧文件内容
with open(old_file_path, 'r', encoding='utf-8') as old_file:
file_content = old_file.read()
# 替换文件内容中的时间戳
new_file_content = re.sub(
r'(?<="ID":")(\d{14})|(?<="id":")(\d{14})|(?<="updated":")(\d{14})',
mapping['real_create_time'],
file_content
)
# 构造新文件名
old_dir, old_file_name = os.path.split(old_file_path)
new_file_name = mapping['real_create_time']+'-'+mapping['key']+'.sy'
new_file_name = os.path.join(old_dir, new_file_name)
# print(old_dir,old_file_path,new_file_name,new_file_content,sep='\r\n\r\n')
# 写入新文件
with open(new_file_name, 'w', encoding='utf-8') as new_file:
new_file.write(new_file_content)
# 删除旧文件 此处先保留以备恢复
# os.remove(old_file_path)
# 读取映射数组
with open('mappings.txt', 'r', encoding='utf-8') as mappings_file:
mappings = json.load(mappings_file)
# 第三步:替换文件名和文件内容中的时间
replace_time_in_files(mappings)
估计得自己改数据库里面的创建时间字段,可以问一下 D 大能不能在笔记本内部新增个改创建时间的功能。
改倒是能改,但你得自己会写脚本,或者请其他懂的人写脚本(目测文档名上就包含了时间,所以应该不难写,只不过我不会写 )。
实际上文档的 ID 跟创建时间有关,改了 ID 也就改了创建的时间,可以在.sy 文件里根据文档名上的时间来批量替换文档 ID(包括这个.sy 文件的文件名,如果有子文档的话还包括同名的文件夹名称):
JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。
Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。
Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。
Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。
AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。
让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
新手上路,请谨慎驾驶!
“梦想从学习开始,事业从实践起步” —— 习近平
Pipe 是一款小而美的开源博客平台。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。
这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!
FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。
阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。
Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。
有空闲时间是接外包好呢还是学习好呢?
jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。全球约有 28% 的网站使用 jQuery,是非常受欢迎的 JavaScript 库。
百度(Nasdaq:BIDU)是全球最大的中文搜索引擎、最大的中文网站。2000 年 1 月由李彦宏创立于北京中关村,致力于向人们提供“简单,可依赖”的信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的《青玉案·元夕》词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。
Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。
Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。
小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。
由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!
宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”
安全永远都不是一个小问题。
Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。
有点意思就行了
React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。
OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。
Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。
欢迎访问我们运维的实例: https://wide.b3log.org
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于