突然发现onedrive空间减少了好多,才发现Onedrive是有版本控制的。

微软默认强制打开了版本控制,这本来是个好事,但是啊这傻逼版本控制会仅仅根据文件的时间改变就创建一个版本,你tm不校验内容的吗??这就造成了明明是相同的文件却有多个版本,占用多倍的空间。

如果不是很重要的文件建议还是第一次使用前就关闭版本控制

下面先说下怎么关闭版本控制,网页隐藏了禁用按钮,所以需要用命令行

先安装SharePoint Online Management Shell

#打开Powershell连接到Sharepoint Online
#注意要用-Credential指定邮箱,否则在跳出的登录界面是无法登录世纪互联版的
Connect-SPOService -url https://XXXXX-admin.sharepoint.cn -Credential [email protected]

#成功连接后输入下面命令,关闭版本控制
Set-SPOTenant -EnableMinimumVersionRequirement $False

然后打开网站设置>网站库和列表>自定义文档>版本控制设置,会发现多了个无版本控制选项(可能会有点延迟)选择后确定就可以了。

以后更改的文件就不会创建历史版本了,但是之前已经创建的还在。

我是没能找到有效的命令可以批量清理旧的版本,我尝试使用了rclone的cleanup命令,提示无法删除,也不知道是世纪互联版的问题还是产品本来的问题。如果你文件不多可以手动去网页一个个文件清理,但像我几十万个文件的肯定不现实。

途中让我搜到了一个微软客服的回答,他的建议是删掉重新上传。我。。。这十几T的文件,你让我传到什么时候。而且有些本地已经删了,我还得先下载,这显然也不太现实。

所以下面说下我是怎么批量清理掉旧历史版本

很简单粗暴的一个思路,我把所有文件在onedrive中复制一遍不就行了。

onedrive复制后的文件是全新的,不带有旧文件的历史版本,虽然有些文件夹文件数量过多需要分批复制,但比上面两个方法现实多了。

不过由于复制后的文件修改时间也变成新的,导致了使用rclone时又出现一个有点操蛋的问题。请看下一篇文章