一行命令行解决可道云(kod)无法访问onedrive同步目录的问题
省流版:使用mklink j命令,让可道云访问虚拟文件夹(姑且这么称呼吧)。
这几天,由于嫌弃工作室里面那台万由201p的cpu性能比较弱,决定把自己用n5105妖板+蜗牛星际机箱组装的NAS拿到工作室使用。
我的工作室存在以下两个需求:
1、我是从onedrive协同办公转为nas协同办公的,因此我需要我的nas能够用onedrive同步文件,并且这些文件能使用smb进行局域网共享,用webdav进行外网共享(我有ipv6)。
2、nas必须能够和onedrive进行正常的实时同步,之前尝试使用网盘挂载的形式挂到nas,但发现访问速度不行,果然正儿八经的工作,还是要文件存在于本地。
原来的方案,我是在201p上安装了一个虚拟机win10,然后给win10直通一个硬盘,再在win10里安装onedrive,选择指定同步目录到直通硬盘上,选择“下载所有文件”,再用smb模式共享该硬盘,这样就能够实现局域网所有同事满速访问,并实时同步到onedrive。至于外网访问,我是使用万由本身的硬盘挂载功能,挂载后开webdav,以实现外网访问。
选择“下载所有文件”,以实现局域网所有同事满速访问改用n5015妖板自组的nas后,我选择安装winserver2022,这是一个服务器的系统,稳定,而且和普通的win10没区别,非常好上手。更重要的是,可以直接运行onedrive,局域网SMB共享也非常方便,省去了旧方案虚拟机的步骤。
至于外网webdav访问,其实有两种选择,一是用win自带的webdav,二是用可道云(kod),由于我本身有手机端访问数据的需求,因此我选择了第二个方案,因为可道云自己有手机端。
具体安装步骤我就不赘述了,百度很容易找到。总之,当我把全部都安装好,登陆可道云,点开挂载的硬盘,打开看一看onedrive目录下的材料时,我发现,里面是一片空白


还好之前有折腾万由nas的经历,我的第一反应是这个文件夹的权限出问题了,因为同一个根目录下的其他文件夹是能够正常访问。果然,“onedrive”这个文件夹的权限是555,而其他文件夹的权限都是777。
知道问题后我淡定了,不就改个权限嘛,小事。但是,当我更改权限时,我再次傻眼了,这权限TMD没法改


挂载的硬盘,除了onedrive同步目录“onedrive”之外,其他文件夹都正常访问
权限更改失败 这算啥?不让我用了?我立即找到可道云的客服,问了一圈,客服比我还懵逼,最后提出一个伟大的解决方案——去论坛问问。


又和qq群的几个大佬讨论了一圈,还是一无所获,但初步估计是onedrive同步目录的权限问题,因为同步目录已经不能算是单纯的本地文件了,而是一个本地文件和云文件的“杂交怪胎”。
本着“解决不了问题,就先放放”的宗旨,我开车回家了。在等红绿灯的时候,我忽然灵机一动,既然可道云动不了onedrive的同步目录,那如果不是同步目录不就解决了?我想起以前折腾万由nas的时候,也是由于onedrive同步目录的权限问题,导致我最终得搞虚拟机实现需求,那个时候,看过一个mklink命令。
有了想法,执行起来就容易了,最终我选择使用mklink j命令,这个命令能够实现创建一个A文件夹并把这个文件的实际内容指向另一个B文件夹,当你点击进入A文件夹时,你会直接看到B文件夹的内容,更神奇的是,地址栏显示的路径是A文件夹的路径,而不是B文件夹的路径。内容有点绕,没试过的朋友建议百度一下,或者去B站看看视频。
我自己的具体步骤如下:运行“cmd”,输入命令 mklink /j f:work f:onedrive,也即是在f盘创建一个work文件夹并指向onedrive文件夹。这里要注意,一定要用cmd打开命令提示符,不要用“windows powershell”,“windows powershell”会报错,我不也不知道啥原因。
我忘记截图了,大家用玩过图片凑合着看吧再次登录可道云,成功进入work文件夹,看到了里面全部东西(也就是onedrive里面的全部东西),尝试在可道云对work文件夹里面的材料进行修改,onedrive里面的对应材料也同步被修改。
再尝试将work以webdav的形式挂载到另一台电脑上,然后修改里面的文件,onedrive里面的对应材料也同步被修改。
此次完美收官,我又能愉快地进行协同工作了。


作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
