GoldenPotato137 / PotatoVN

一款Visual Novel管理软件
https://potatovn.net/
Apache License 2.0
577 stars 30 forks source link

[FEAT] 关于游戏存档的上传云的一点设想 #225

Open lalakiop opened 3 weeks ago

lalakiop commented 3 weeks ago

我现在是使用OneDrive进行云存档,并且在不同的电脑上互通的,首先我会找到游戏存档的目录,然后再存档文件的上一级(一般是游戏名字或者开发商),将这个目录在游戏目录下创建快捷方式,让后自己写了一个脚本,用于上传存档目录和记录存档信息以及建立硬链接。首先在选定的云存档目录下新建游戏文件名的文件夹(最好用ID,我懒得抓取了),将上面说的存档文件夹上传到新建的游戏文件夹内,记录源地址以及OneDrive地址,同时创建硬链接。如果在不同的电脑上都有存档,在脚本处理文件上传的时候则会比对相同文件的时间,弹窗跳过或者覆盖,如果记录的存档地址没有建立存档文件夹,则直接创建硬链接。 如果是软件来实现以上功能的话,要考虑到收集不同游戏的存档地址(最好用ID),建立起来这个数据库后只要根据电脑上是否有这个游戏来创建硬链接。 收集的话可以使用用户的数据,记录用户在不同ID游戏云存档选择的位置,应该能够搞定大部分,这个数据库也可以保持在OneDrive上,用户选规过地址的游戏可以记录一下,下次使用的时候直接创建存档硬链接。

GoldenPotato137 commented 3 weeks ago

目前软件的云存档逻辑跟你的操作方法非常像呀:

be like:

image

image

image

lalakiop commented 3 weeks ago

我想请问一下,如果游戏的存档在文档文件夹或者appdata文件内部的时候,存档的上传是怎么样的呢?是在OneDrive的gamesave内部创建游戏文件夹。举个列子:假设游戏的名字叫做my sister ,存档位置在C:\Users\AppData\LocalLow\alisfot\ms\save中,假设我在potatovn中选择C:\Users\AppData\LocalLow\alisfot\ms这个路径进行上传存档,在OneDrive的gamesave中是将ms文件夹进行上传后映射?还是将my sister游戏的根目录进行创建后在将ms文件在放在游戏名称文件夹内?还有就是会碰到以下的情况:比如夏日假期,存档在 夏日假期\www\save 里面, www文件夹会有其他的文件夹(不只有save),如果选择save文件夹的话,我测试了以下,potatovn会上传www\save,然后我有碰到了 相同引擎制作的游戏,存档路径是一样的,就会有问题产生。因为potato上传的是www\save, 两个游戏都是一样的。

lalakiop commented 3 weeks ago

大佬你写的逻辑因该是 选择的文件夹--读取它的上一级的文件夹---在云存档位置创建上一级的文件夹---将选择的文件夹放在创建的文件夹内--删除选择的文件夹----进行链接。

lalakiop commented 3 weeks ago

如果这样:选择文件夹---获取游戏的根目录的名称---在云存档位置创建游戏的根目录的名称的文件夹---将选择的文件夹放在创建的文件夹内--删除选择的文件夹----进行链接。是不是就可以避免存档冲突的问题?

GoldenPotato137 commented 3 weeks ago

雀实可以用游戏名称来当做文件夹名称而非用上一级文件夹名称(毕竟有些游戏存档不在游戏根目录下),没有考虑到你说的save嵌套在几层文件夹之下的问题,非常感谢建议