关于OneNote插入文件附件的功能

 

事情的起因要从一天前说起了。我往OneNote里添加了一个视频文件,大概500M左右,然后程序就卡死了。打开任务管理器一看,OneNote在疯狂地使用硬盘。折腾了半天,把附加的文件取消掉,这才恢复正常。于是乎我写下了这段笔记:

One N Ote 里 干 万 不 要 
23 卫 6 
2D15 年 4 启 5 日 
加 入 大 文 件 亻 牛 , 否 则 会 卡 歹 蹌 《 
每 秒 要 20 多 M 的 磁 盘 读 写 我 的 电 脑 已 经 吃 不 消 
LMF

然后我就很好奇,OneNote的文件附件方式到底是怎么完成的,于是我做了如下的实验~

 首先,实验材料的准备:

1、新建一个笔记本,并建立一个新的分区

Test 
- 新 分 区 1 
- 新 分 区 2

2、视频文件(没有选很大的文件,我害怕又卡死),以及一个空文件夹(用来伪装成文件被删除的假象)

实验内容一 验证文件附件是否为链接的方式

我想要知道OneNote的文件附件是单纯的给一个文件的链接还是把整个文件拷贝到了笔记中。

这个很好验证,我首先插入一个文件附件:

Test 
2015 4 月 6B 
Funny 
19 : 30

确定插入完毕,文件可以打开后,我把文件移动到文件夹中,造成文件被删除的样子,然后再次打开这个文件附件,发现依然能够打开。

结论:OneNote的文件附件是以将文件拷贝到了笔记中,而非文件的链接

 

实验内容二 确定附件文件的存储位置

在笔记本默认路径中,一个文件夹对应一个OneNote的笔记本,里面的每个文件对应一个分区。然而,在这个文件夹中,我并没有发现有类似专门存储附件的文件夹,而是代表分区的文件大小猛然增长了很多(大概就是那个视频的大小)。也就是说,插入的文件附件被直接嵌入到了OneNote格式的文件里(.one文件)。

此 本 證 旧 〕 , OneNote 笔 记 本 
名 称 
OneN0te Recycle8in 
如 : 打 开 笔 讠 己 本 ℃ net 。 c2 
新 分 区 1 Zone 
Test 
修 改 凸 期 
2016 / 4 / 5 Ig : 50 
2016 / 4 / 5 Ig 巧 0 
2016 / 4 / 6 Ig : 51 
Microsoft OneN 
Microsoft OneNm 
8 KB 
5 g 彐 1 KB

结论:文件附件被嵌入式存储到了OneNote的分区文件中

 

实验内容三 在OneNote中被打开的附件是以怎样的格式存放

我猜想OneNote的笔记中的文件附件在打开时,应该是需要从.one文件中抽取出附件文件到一个临时文件夹中,然后再调用对应的应用程序来打开这个文件。以视频附件为例:

通过查看播放视频的属性,可以看到,在系统的临时文件夹中一个很奇怪的位置拷贝了原视频文件。

另外一个细节是,我的播放器会记录最近播放文件的播放位置,也就是每次播放时会从上一次停下的地方继续。然而,我重复打开这个附件视频时,每次都会从头播放,可见是经历了临时文件重复抽取创建的过程。所以我猜想,这大概也部分解释了为什么一个巨大的文件附件会让程序卡死,当然因为我的电脑性能本身也并不好。

结论:OneNote每次打开文件附件时会从.one文件中抽取出附件并拷贝到系统临时文件夹下

 

实验内容四 到底还有多少临时文件被创建

这就需要我打开OneNote的临时文件目录看一看了。

临时文件夹中有一个tmp文件夹,大小有些惊人。

n Mufeng 
名 称 
108 KB 
12 KB 
20 KB 
14 KB 
1 1 KB 
1 3 KB 
34 KB 
AppData Lo 〔 引 
M 记 roso , OneNote 
16 ℃ , 〔 a 〔 卜 e 
tmp 层 1 生 
思 规 一 
位 : 
大 小 : 
占 用 亞 河 : 
创 建 时 河 : 
层 性 : 
大 小 
安 全 
tmp 
以 前 的 本 
巨 定 义 
》 阢 》 阢 ℃ 
C:\Users\Lin Mufeng\AppData\Local\Microsoft\O 
7 M 8 〔 7 閬 囤 纪 877 字 节 ) 
658 M 8 〔 7 [ ℃ 。 55g360 字 节 ) 
127 个 艾 , 0 个 艾 
2016 年 29 凸 , g : 56 引 
回 、 只 读 〔 仅 过 甲 于 文 仁 荚 中 的 文 仁 ) 区 卜 
高 级 0 一 
5 KB 
3 KB 
3 KB 
2 KB 
5 KB 
8 KB 
6 KB 
4 KB 
3 KB 
8 KB 
3 KB 
2 KB 
4 KB 
1 KB 
8 KB

打开一看,刚才视频文件大小相同的临时文件有将近10多个。

0000 的 TA.bin 
0 
000001TD.bin 
TF.bin 
1 U2.bin 
囗 
0 [ ℃ [ ℃ 1 U5.bin 
囗 
0 [ ℃ [ ℃ 1 U7.bin 
囗 
0 [ ℃ [ ℃ 1 UC.bin 
囗 
0 [ ℃ [ ℃ 1 UF.bin 
1 UI.bin 
囗 
0 [ ℃ [ ℃ IVIJ in 
囗 
0 [ [ ℃ 0201 .bin 
囗 
0 [ ℃ [ ℃ 202 in 
2012 / 10 / Ig 18 : 28 
2016 / 4 / 5 Ig : 40 
2016 / 4 / 5 Ig : 40 
2012 / 10 / Ig 18 : 28 
2016 / 4 / 5 Ig : 47 
2016 / 4 / 5 Ig : 47 
2012 / 10 / Ig 18 : 28 
2016 / 4 / 5 19:49 
2016 / 4 / 5 19:49 
2012 / 10 / Ig 18 : 28 
2016 / 4 / 5 2001 
2016 / 4 / 5 2001 
2015 / 4 / 5 2a02 
BIN 文 仁 
引 N 仁 
引 N 仁 
引 N 仁 
引 N 仁 
引 N 仁 
引 N 仁 
引 N 仁 
引 N 仁 
引 N 仁 
引 N 仁 
引 N 
25 。 587 KB 
25 。 587 
8 
25 。 587 
25 。 587 KB 
25 。 587 KB 
25 。 587 KB 
25 。 587 KB 
25 。 587 KB 
25 。 587 KB 
25 。 587 KB 
25 。 587 KB 
25 。 587 KB 
25 。 587 KB

也难怪,要是一个附件是500M,C盘大概瞬间满掉了吧。这也就解释了我的OneNote卡死的时候,为何磁盘使用量十分之高。OneNote在处理文件附件的具体代码实现我并不知道,但是这样疯狂产生垃圾的方式我有点醉醉的……

结论:不要再笔记中插入过大的文件附件,C盘吃不消。如有需要,使用文件链接的方式

剪辑自: http://blog.sina.com.cn/s/blog_86aea3770102wdu4.html