Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 从批处理文件确定OneDrive同步状态_Batch File_Dropbox_Onedrive - Fatal编程技术网

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

Batch file 从批处理文件确定OneDrive同步状态,batch-file,dropbox,onedrive,Batch File,Dropbox,Onedrive,我有一个OneDrive帐户和一个Dropbox帐户。我使用批处理文件将文件夹和文件复制到适当的位置 在批处理文件的开头,我使用SYSINTERNALS PSSUSPEND命令挂起Dropbox。然后,当OneDrive完全同步时,我可以使用sysintranses恢复Dropbox 我目前在恢复之前使用了延迟策略,但如果我确切知道OneDrive何时完成会更好 我可以反转同步,但我也不知道如何确定Dropbox的同步状态。回答晚了,但可能对某人有帮助 我刚刚发现了一个愚蠢的简单解决方案: 退房

我有一个OneDrive帐户和一个Dropbox帐户。我使用批处理文件将文件夹和文件复制到适当的位置

在批处理文件的开头,我使用SYSINTERNALS PSSUSPEND命令挂起Dropbox。然后,当OneDrive完全同步时,我可以使用sysintranses恢复Dropbox

我目前在恢复之前使用了延迟策略,但如果我确切知道OneDrive何时完成会更好


我可以反转同步,但我也不知道如何确定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脚本看起来可能会工作: