Batch file 从批处理文件确定OneDrive同步状态
我有一个OneDrive帐户和一个Dropbox帐户。我使用批处理文件将文件夹和文件复制到适当的位置 在批处理文件的开头,我使用SYSINTERNALS PSSUSPEND命令挂起Dropbox。然后,当OneDrive完全同步时,我可以使用sysintranses恢复Dropbox 我目前在恢复之前使用了延迟策略,但如果我确切知道OneDrive何时完成会更好Batch file 从批处理文件确定OneDrive同步状态,batch-file,dropbox,onedrive,Batch File,Dropbox,Onedrive,我有一个OneDrive帐户和一个Dropbox帐户。我使用批处理文件将文件夹和文件复制到适当的位置 在批处理文件的开头,我使用SYSINTERNALS PSSUSPEND命令挂起Dropbox。然后,当OneDrive完全同步时,我可以使用sysintranses恢复Dropbox 我目前在恢复之前使用了延迟策略,但如果我确切知道OneDrive何时完成会更好 我可以反转同步,但我也不知道如何确定Dropbox的同步状态。回答晚了,但可能对某人有帮助 我刚刚发现了一个愚蠢的简单解决方案: 退房
我可以反转同步,但我也不知道如何确定Dropbox的同步状态。回答晚了,但可能对某人有帮助 我刚刚发现了一个愚蠢的简单解决方案: 退房
%LocalAppData%\Microsoft\OneDrive\logs\Personal\
(对于Windows,其他操作系统中的类似用户文件夹)
有一个SyncDiagnostics.log
文件
当OneDrive同步、检查联机文件的状态和映射以及同步完成时,它会得到更新。(不过有一点需要注意:当要同步的唯一文件被文件句柄阻止时,OneDrive不会更新日志。)
例如,您可以检查文件修改,然后检查变量
SyncProgressState:
根据我的经验,它显示0
用于完成,而255
用于同步
您还可以利用其他有趣的变量,如FilesToDownload
和FilesToUpload
等等。下载DBStatusc
在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
...
正在寻找一个更好的解决方案,但同时,对于dropbox,有一个python脚本看起来可能会工作: