MyBase 7.x笔记迁移到为知笔记脚本

前言

  • 因为myBase的本地相应速度快,目录树好看,所以在本地环境一直用myBase,而且近期升级到了7.0
  • 因为有跨平台共享的需求,所以需要云笔记
  • 因为为知笔记国产,界面简洁,便宜等原因,云笔记app选择为知
  • 因为现成的工具只支持myBase 5.x/6.x 的迁移,所以手动写了个脚本

原理

  • myBase 7.x采用所有笔记皆目录,再在目录下存放4种格式的文件来存放笔记,和myBase 5.x/6.x直接按笔记名保存为文件不同,因此mybase2wiz插件失效
  • 经过寻找,mybase可以导出目录树,为知笔记可以导入html/md/text,因此脚本的作用就将mybase导出结果修改为为知笔记导入后,笔记名称保持不变

步骤

  1. mybase选中所有要导出的目录,菜单栏选择导出->导出磁盘目录树->选择文件夹->确认(图后补)
  2. 设置脚本的root_path为刚才导出文件的父目录
  3. 将文后的脚本复制后保存到xxx.py(xxx自定义即可)
  4. 启动cmd命令行(需要已经安装了python)
    python xxx.py
  5. 启动为知笔记,选择要存放新笔记的目录,菜单栏->导入->(待确认)->确认
  6. 等待导入完成,检查一下是否按目录,按原笔记名称已经导入成功
  7. done

脚本源代码

# _*_ coding: utf-8 _*_

import os

root_path = 'C:/Users/Hht/Desktop/temp/processed/'


def list_dir(dir):
    if os.path.isdir(dir):
        # 递归进入子目录
        sub_dirs = os.listdir(dir)
        for sub_dir in sub_dirs:
            list_dir(dir + '/' + sub_dir)
    else:
        # 对最深层级的文件进行操作
        idx = dir.rfind('/')
        print('dir: ' + dir)
        file_name = dir[idx + 1:]
        # 保留文档结尾 到 suffix
        suffix_idx = file_name.rfind('.')
        suffix = file_name[suffix_idx:]
        print('suffix ' + suffix)

        dir_idx = dir[:idx].rfind('/')
        p_dir_name = dir[dir_idx + 1:idx]

        # 保留文件倒数第二级目录到p_dir
        p_dir = dir[:dir_idx]
        print('dir_name: ' + p_dir_name)
        print('p_dir_name: ' + dir[:idx])

        # 讲mybase文件重命名为父目录名字+原后缀
        os.rename(dir, p_dir + os.path.sep + p_dir_name + suffix)
        print('rename: ' + dir + ' to: ' + p_dir + os.path.sep + p_dir_name + suffix)
        print('----------')

# 删去已经将文件重命名了的文件夹
def remove_empty_dir(dir):
    if os.path.isdir(dir):
        sub_dirs = os.listdir(dir)
        if len(sub_dirs) < 1:
            try:
                print('crt rmdir: ' + dir)
                os.rmdir(dir)
            except BaseException as e:
                pass
        for sub_dir in sub_dirs:
            remove_empty_dir(dir + '/' + sub_dir)


list_dir(root_path)
remove_empty_dir(root_path)

后语

可能对于不写python的同学,安装python,跑脚本,比直接拷贝过去要烦人的多吧,23333

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,120评论 0 10
  • 说到旅行,很多人都很向往。背上背包,带上相机,感受一切未曾感受过的风景。踏足异国他乡,我们遇见了不同的人,感受了不...
    aifree阅读 2,675评论 0 1
  • 黄凯先生您好,误收一条短信,你看是不是发给你的。 “爸爸,我想对你说,你在这辞职的四年对我无微不至的照顾,让我感受...
    fengfengdi1阅读 1,898评论 0 0
  • 1. 申请的内存所在位置 new操作符从自由存储区(free store)上为对象动态分配内存空间,而malloc...
    Temple_Li阅读 3,541评论 0 0
  • 4月21日的生日花,雪花莲。 雪花莲的叶茎直,花含着羞笑,白花瓣绿殷点点,像印了个唇印。 垂下的花朵叶托着线高,莲...
    冬林探花阅读 7,351评论 0 0