Tag Archives: 共享

让Dropbox更加“自动地”即时下载更新

Héliopolis 此前写过一篇博文《如何解决Dropbox不能即时下载更新的问题》,里面提到用批处理脚本restart_dropbox.bat来重启Dropbox,然后Dropbox就会开始同步了。之前LeonharT在博客的评论中问道:“如何加上参数,每一小时,重启一次?”

transitionally 这个提问让我觉得的确可以用一些方法让脚本自动执行,这样Dropbox基本上就能“自动地”保持数据同步了。

最简单的方法是在“控制面板” – “任务计划”里,创建一个新任务,将触发器设置为每1小时重复执行一次,任务的操作选为执行restart_dropbox.bat文件。这样每隔1小时系统就会自动将Dropbox重启一次,确保同步数据了。具体隔多久重启,可以根据需要来设置,比如30分钟或者15分钟。

当然,其实也可以对此前博文中的脚本来进行改进,让脚本自己就能按一定的时间来重复执行里面的命令,但只是这样会一直留下个DOS窗口,大家如果觉得无所谓,也可以用:

@echo off
set interval=3600
path "%appdata%\Dropbox\bin";%path%
:start
taskkill /f /im Dropbox.exe >NUL
start Dropbox.exe
echo Restart dropbox at %date% %time%
choice /t %interval% /d y /n >NUL
goto start

注意第2行的3600,表示重复间隔是3600秒,也就是一小时,大家可以根据自己的需要来做调整。另外,第8行用到了choice命令,如果是Windows XP,可能系统里没有choice命令,可以去别的机器上复制一份过来放到C:\Windows\System32目录。或者用ping命令来替代choice命令,只是ping命令可能在计时上不太精确:

ping 127.1 -n %interval% >NUL

现在Dropbox可以更加“自动地”来确保数据同步了,大家还不装上用用啊。如果还没有Dropbox的账号,可以用这个链接来注册,这样我们都可以获得额外的250M的免费空间哦:http://db.tt/HPvz8NP

Update @20120616:
如果是在Mac OS X上,可以用cron来按时间间隔自动运行脚本。脚本会相对简单一点:

killall Dropbox
open /Applications/Dropbox.app
exit &

保存为restart_dropbox.sh,放在用户目录下面,然后

chmod +x restart_dropbox.sh
crontab -e

添加上

#min    hour    mday    month   wday    command
*/60    *   *   *   *   sh ~/restart_dropbox.sh

这里的时间间隔配置可以依照cron的文档自行修改,我就不赘述了。

如何解决Dropbox不能即时下载更新的问题

去年写过如何用Dropbox分享文件的文章(),只可惜一直到现在Dropbox也还没有被真正完全地“放出来”,这个功能在体验上也大打了折扣。

主要的问题,就在即时下载更新上。A机器上更新了文件,B机器上已经开着Dropbox的却不会即时更新;放到共享文件夹里的文件,其它共享用户有时会即时下载,有时又没有任何反应。一切只有等到下次重启Dropbox时,更新才会开始,而这个也一般只有电脑重启时才会发生。而如果是笔记本用户,平时从不关机或者只习惯待机,可能电脑用了很久,也完全不会及时察觉原来有文件可以更新了。

平时遇到这种问题时,也只有一种办法,就是手动去关掉Dropbox,再运行,然后更新就会自动开始。只是这样的操作很麻烦,但如果写一个批处理程序来处理相对还是可以方便一点。

打开“记事本”或者其它你喜欢的文本编辑器,复制粘贴这段代码:

@echo off
taskkill /f /im Dropbox.exe
path "%appdata%\Dropbox\bin";%path%
start Dropbox.exe

保存为restart_dropbox.bat,并放在Dropbox目录里同步到各个机器。

这样,以后在A机器上更新了东西,在B机器上如果没有即时更新,就运行一下这个批处理,让Dropbox立即关闭并重运行,更新就会开始了。如果是和朋友共享文件,在本地上传完后,就用聊天工具通知一下要下载的朋友,让他们运行下这个批处理程序。实践使用中,这个方法还算比较好用。

Dropbox最大的特点就是在后台默默地运行,让你可以忘了它的存在,可现在的外部干扰却让我们不能忘掉它,不能不说是一种无奈。