我不是程序员,我想问一个问题,一个云盘做一个同步指定文件夹的功能很难吗?(没有任何恶意哈,只是啥也不懂,提问一下😁)按我自己的设想,就是做一个自动任务,触发条件就是文件夹有文件发生改动,自动上传到云盘
首先最常用的onedrive,只能同步 [桌面] [文档] [图片] 这几个文件夹,鸡肋
其次是百度网盘,搞了个什么同步空间,我还要把文件拖进去才能同步,分的好好的文件夹,拖进去就乱了
当然上面可以用软连接的方式解决,但是我之前迁移的时候不知怎么滴出现了一些问题,文件误删了很多,导致我再也不想用软连接了
阿里云盘有同步文件夹功能,但是要开会员,小白羊的同步功能作者说还在开发
目前只有谷歌云端硬盘完美同步了指定文件夹,而且当我插入 u 盘的时候还会询问我当 u 盘插入时,是否想要同步 u 盘的文件,真的很贴心,唯一不满就是有点小贵
真心的想问,这个功能是不好做,代码不好写还是容易出 bug ?
1
g22k 2023-06-13 00:14:53 +08:00 via Android
wps 云盘,小米云盘。 威联通 nas 的 qsync
|
2
cnlaok999 2023-06-13 00:24:36 +08:00
哎,dropbox 也不支持这个功能
|
3
summerwar 2023-06-13 00:34:31 +08:00 1
onedrive 可以同步其他文件夹,建议看下这里 https://support.microsoft.com/zh-cn/office/%E5%9C%A8-windows-%E4%B8%8A%E4%BD%BF%E7%94%A8-onedrive-%E5%90%8C%E6%AD%A5%E6%96%87%E4%BB%B6-615391c4-2bd3-4aae-a42a-858262e42a49
使用 onedrive 的时候可以使用 microsoft 的硬链接、软链接等,更好用 |
5
wayne3602 OP @summerwar 是的,我之前就是用软连接同步的,但是一直不明白为啥微软一直不开发这个功能
|
6
Vegetable 2023-06-13 00:48:04 +08:00
并不难,但是产品设计上有很多不好处理的地方。
举个例子,假如我指定了 A 电脑的 E 盘学习资料文件夹,那么我用 B 电脑时如果没有 E 盘怎么办?难道要求用户给自己的每一个同步文件夹,在每一台电脑上都指定一个映射吗?只要将产品设计成 Onedrive 和百度这种形式,就能完美避免这种问题。 这只是我随便想到的一个理由,深挖下去必然还会后很多值得商榷的地方。百度和 Onedrive 这种方案未必多好,但是显然没有太致命的问题。 |
7
wayne3602 OP @Vegetable 为什么会纠结这个问题呢,本地和云端是一种映射关系,就算是 e 盘的文件,其对应的是云盘上的根目录下的文件,现在有其他电脑想访问这个文件,访问云盘根目录的这个文件即可,而无需真的有一个 e 盘
|
8
NoOneNoBody 2023-06-13 02:53:42 +08:00
所有程序都是一样,当和预想的情况一致,会很顺利实现,但不一致,就多了很多工作,而且这增加的工作量不是 1+1 那么简单
但是,现实中,解决非预想情况总是占工作量的多数,甚至九成以上 先不说同步,就举例单纯复制,预想很简单,就不说了 举例其中一个非预想情况:特殊文件名 那会增加什么工作呢?系统兼容(例如无扩展名在 windows 是一般文件,在 linux 默认是可执行文件)、字符编码(中文、日文、韩文……难道中文系统用泰文的文件名就操作失败么?)、非法字符……并不是多了一道工序那么简单 同步一个文件就涉及文件名、路径、大小、hash 比较、权限、是否锁死…… 文件夹就更多了,尤其深层递归等等 GUI 还有其他事情,非预想情况例如拖放时对焦不准、字符集不全、不同分辨率的兼容、触屏的误触……每个人都有一种“私人”的操作习惯,有时就简单操作顺序都会引发问题,例如先改名后复制 vs 先复制后改名 网络又是一个大的“问题集合”,最简单的例子就是传输过程中断网怎么办 容错是必须做的,即使第一版就已经要想象各种“不合理的操作”,预想越多发行时口碑越好,然后靠用户反馈那些“根本没想到”的情况 另外,你说的是软链还是 junction ,windows 建立软链是需要管理员权限的,junction 则不需要,但是 junction 这东西在 windows 以外其他系统没有 |
9
anerinck 2023-06-13 03:24:59 +08:00
试试看 MEGA 盘?
|
10
strp 2023-06-13 03:35:07 +08:00 1
猜你想要:Synology Drive
|
11
Sharuru 2023-06-13 06:58:09 +08:00 via iPhone
是的,我也很纳闷…
这也是为什么云盘那么多,用到最后还是只能和坚果云绑定。 还算够用的分享功能(允许上传)+任意文件夹同步这个真的太刚需了。 |
12
webcape233 2023-06-13 06:59:03 +08:00 via iPhone
免费的 mega 50g ,自建 syncthing
|
13
villivateur 2023-06-13 09:03:00 +08:00
nextcloud 桌面端的同步很好用,而且还是开源的,可以看看源码
|
14
wipbssl 2023-06-13 09:18:37 +08:00
为什么不直接把需要同步的文件夹扔到 onedrive 里呢?
|
15
littlefishcc 2023-06-13 09:20:29 +08:00
我一直用 wps 网盘同步,非会员只能指定一个文件夹,会员可以置顶 5 个。
技术检测文件改变,如果是指定文件夹就进行同步逻辑,windows 有对应的 api ,之前还特别研究了一下。 小米云盘也可以,不过很容易出现冲突,然后多出来一个备份文件(同步算法感觉还是有一定问题),百度貌似也可以指定。 |
16
wayne3602 OP @wipbssl 对于文件分类每个人都有自己的习惯,把文件放到便于找到的位置和合理的位置才是分类的目的,我为什么为了同步要打破之前的分类???
|
17
JamesR 2023-06-13 09:40:06 +08:00
用 FreeFileSync + Windows 任务计划,同步到网盘指定文件夹即可。
|
18
wayne3602 OP @NoOneNoBody 你说的没错,但是拿 onedrive 来举例,它已经能够桌面,文档和图片文件夹,而在这几个文件夹中也是存在你说的各种复杂情况的,尤其是文档文件夹,腾讯的软件都会在这里拉屎,存在各种各样的文件,甚至还有一些由于程序在运行无法同步的文件,它可以做好这些文件的同步,为什么不能做好其他文件的同步呢
|
20
Sniper000 2023-06-13 10:08:15 +08:00
iCloud 2t 的也可以
|
21
shuxhan 2023-06-13 10:10:25 +08:00
坚果云支持这个特性,syncthing 也不错
|
22
chengxy 2023-06-13 11:16:14 +08:00
@shuxhan #21 syncthing 2023 年了依然没解决 Windows 不支持 Linux 下特殊字符串命名问题。
|
23
freedgw 2023-06-13 13:35:18 +08:00 via Android
坚果云,本地电脑上的任意目录右键就可以同步,如果单纯同步重要文件的话免费的流量也够用了
|
24
JIUBASHI 2023-06-13 14:23:56 +08:00 via iPhone
Koofr 、filen ,俩我都在用,俩都有 lifetime plan ,不过很多人不认可终身套餐
|
25
oldshensheep 2023-06-13 14:34:54 +08:00 1
其实 Junction 是可以没问题的,网上一般教程是在 Onedrive 创建一个 Junction 到目的地址,但是实际上把文件夹移动到 Onedrive 然后在目的地址创建 Junction 更好,这样误删的可能性也比较少,因为文件是真正存在 Onedrive ,链接丢失也不会导致文件丢失。
用 powershell 就是 New-Item -ItemType Junction -Path $path -Value $dst 我现在写了一个简单的脚本可以方便的帮助我重装系统恢复带原来的状态 |
26
hkw34275719 2023-06-13 14:46:15 +08:00
你需要群晖
|
28
wayne3602 OP @oldshensheep 问一下,为什么你们都在说 junction 呢?那个不是 xp 时代的东西嘛,现在一般不都是 mklink
|
29
wayne3602 OP @hkw34275719 十年内不打算群晖,现在还是大学生一枚,等以后成家+工作稳定再考虑吧
|
30
SenLief 2023-06-13 17:23:34 +08:00 via iPhone
这个你用坚果云就好了,国内的同步盘他家做的相当不错的,你要的也支持。只不过就是他计费的方式很怪,只适合同步小文档,不适合视频什么的。
|
31
oldshensheep 2023-06-13 18:11:37 +08:00
mklink /J 就是 Junction, /D 就是符号链接,因为 /J 不需要管理员权限所有我一般用 Junction
当然如果打开开发者模式就不用管理员权限 如果你把文件放到 Onedrive 再链接回去就不会出奇怪的问题。用一个文件记录文件夹链接表,方便以后重建链接啥的,还可以用脚本一键建立链接,这就是我现在的做法。 |
32
chinni 2023-06-13 18:51:31 +08:00 via Android
@JIUBASHI koofr 1t lifetime 用户…他客户端真的不怎么好用…所以我用他的 WebDAV …他家客户端很多特殊文件夹不能同步…文件数量很多的文件夹经常同步失败
|
33
amirobotics 2023-06-13 19:07:08 +08:00
onedrive 同步指定文件夹,关键字:mklink
google drive 贵?,关键字:土区 google |