Board logo

标题: [文件操作] 监控一个文件夹,当文件夹中特定文件有更新或者增加时,就复制到指定文件夹 [打印本页]

作者: weihua_bat    时间: 2017-3-12 00:26     标题: 监控一个文件夹,当文件夹中特定文件有更新或者增加时,就复制到指定文件夹

监控一个文件夹,当文件夹中特定文件(D:\Oatfoot\*.bbr)有更新或者增加时,就将其复制到指定文件夹(L:\Oatfoot)
最好更新时间能在1秒中一次
复制时,只复制更新或者增加的。因为文件比较多,复制所有的用时比较久。

因为两台电脑一台用有线网,一台用无线网;但它们都能访问网络盘L盘。
所以,我想用L盘做中介,先用一个BAT复制更新或者增加的*bbr到网络盘,再用一个BAT复制到另一台电脑。

希望各们大神帮忙解决下,万分感谢!
作者: codegay    时间: 2017-3-12 03:23

文件不大的,国内有有坚果云和腾讯微云两个同步盘。

开源的解决方案有seafile
作者: weihua_bat    时间: 2017-3-14 04:34

回复 2# codegay


    我们使用局域网,不能连接互联网的。
作者: hlzj88    时间: 2017-3-14 06:19

根据 xcopy 的参数特性,在完成一次完整复制后,继续复制时只复制没有被复制的文件,可以把这个命令循环使用即可。
作者: zz100001    时间: 2017-3-14 10:56

"最好更新时间能在1秒中一次"
"文件比较多"
这两个本身就矛盾,硬干的扫描一遍也花时间
文件量级?平均大小?变更频率?
作者: weihua_bat    时间: 2017-3-15 04:45

回复 5# zz100001
只是文件比较多,
但是每次只更新其中一个文件,不会同时更新多个文件的。
作者: weihua_bat    时间: 2017-3-15 04:50

根据 xcopy 的参数特性,在完成一次完整复制后,继续复制时只复制没有被复制的文件,可以把这个命令循环使用 ...
hlzj88 发表于 2017-3-14 06:19


你的方法是对的
我写好了,测试过,可行!
就是不知这样运行久了,会不会影响到电脑效能?

@echo off
:loop
xcopy /d /Y D:\Oatfoot\*.bbr L:\Oatfoot
timeout /nobreak /t 1 > nul
goto :loop
作者: ygqiang    时间: 2017-3-15 08:23

回复 7# weihua_bat


有个例外。如果源文件有删除。目标文件不会删除。
作者: weihua_bat    时间: 2017-3-16 01:34

回复  weihua_bat


有个例外。如果源文件有删除。目标文件不会删除。
ygqiang 发表于 2017-3-15 08:23



谢谢!
这样才更好。
作者: ygqiang    时间: 2017-3-16 08:58

回复 9# weihua_bat


    比如:源目录与目标目录,都有test.bbr文件

如果源文件test.bbr删除了。目标文件test.bbr不会删除啊。

这样不太合适吧?
作者: liahijn    时间: 2020-9-10 10:10

@echo off
:loop
xcopy  /s /h /d /y  D:\Data\2020\20200909\ascii\*.txt \\SARAMIS\Data\Files\ascii
timeout /nobreak /t 10 > nul
goto :loop

各位老师
找到一个我觉得更好的,不会每隔规定时间就写一条,这个是复制了才写一条。
不过,复制到过来,如果删了,又会重新复制的。
我不想它重新复制要怎么做呢?




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2