从批处理文件中确定OneDrive同步状态

3
我有一个OneDrive账户和一个Dropbox账户。我使用批处理文件将我的文件夹和文件复制到相应的位置。
在批处理文件的开头,我使用SYSINTERNALS PSSUSPEND命令暂停Dropbox。然后当OneDrive完全同步时,我可以使用SYSINTERNALS恢复Dropbox。
我目前使用延迟策略来恢复,但如果我知道OneDrive何时完成会更好。
我可以反转同步,但我不知道如何确定Dropbox的同步状态。

寻找更好的解决方案,但与此同时,对于Dropbox,有这个Python脚本,看起来可能会起作用:http://www.dropboxwiki.com/dropbox-addons/python-script-to-get-file-or-folder-status-in-windows - cure
2个回答

5
迟来的回答,但也许能帮到某些人。
我刚刚发现的一个非常简单的解决方法: 检查

%LocalAppData%\Microsoft\OneDrive\logs\Personal\

(针对Windows系统,其他操作系统的用户文件夹类似)
有一个名为SyncDiagnostics.log的文件。
在OneDrive同步、检查在线文件状态和映射以及同步完成时会更新该文件。(但有个小细节:当唯一要同步的文件被文件句柄阻止时,OneDrive不会更新日志。)
例如,您可以检查文件修改,然后检查变量。
SyncProgressState:

根据我的经验,0代表已完成,255代表正在同步。

还有其他有趣的变量可供使用,例如FilesToDownloadFilesToUpload等。


0

下载 DBStatusc https://sites.google.com/site/macdsite/utilidades/dbstatusc-1 在 Windows 中获取 DropBox 状态

echo WAIT DROPBOX_UP_TO_DATE...
:REPEAT
if exist status.tmp del status.tmp
timeout /t 10
D:\bin\dbstatusc c:\DropBox > status.tmp
findstr /m "Up to Date" status.tmp
if %errorlevel%==1 GOTO REPEAT
...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接