情况说明
在一台windows电脑上有两个文件夹A和B,其中A是主文件夹,B需要实时备份A中的内容。
解决方案:
1.使用SyncToy软件同步两个文件夹;
但SyncToy不能实时自动同步,需要手动同步。
2.使用批处理文件不断循环运行SyncToy,实现实时自动同步。相比另一个使用windos taskscheduler来自动同步的方法的优势是:taskscheduler允许设置的时间间隔只有几个选项:每天,每周,…, 无法满足实时性要求。
细节描述
1.使用SyncToy软件同步两个文件夹
参考链接博文
/icerainsoft/archive//12/06/2805092.html
建立的文件夹对名为folderpair
2.使用批处理文件不断循环运行SyncToy
a. 新建批处理文件sync.bat,打开并输入:
cd filelocation #cd C://Program Files/synctoy2.0:syncSyncToyCmd -R folderpairgoto sync
以上通过嵌套语句实现while循环。其中SyncToyCmd与SyncToy.exe安装在同个文件夹下。
Note: 我在这里遇到了一个小问题:我的A文件夹是映射的网络驱动器,本地显示为Y盘,在SyncToy中设置时,浏览文件夹选择的A文件夹位置为Y://folderA,运行上述批处理文件命令行显示找不到A,搜索后发现网络驱动器应该使用映射位置如 //remotePCname/user/folderA,具体查看网络驱动器盘名即可。
b.如果想隐藏运行上述批处理文件的控制台窗口,需要通过vbs文件实现。
在与sync.bat同文件夹下新建sync.vbs输入Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c sync.bat", 0
双击运行sync.vbs即可。
巩固知识点:
bat中的go to嵌套语句实现while循环使用vbs实现隐藏控制台窗口