[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] BAT如何监控下载目录,每满一千个文本即拷出?

有一个下载文本的目录,要下载的文本有十几万个。下载时断时继,如果等全部下载完再处理,很费时。
我想每下载到一定数量时(如1000个),即自动处理一批(如将其拷贝出来)。
对我来讲,这有点复杂,请高手指点。

假设现在下载目录下面有2000个文件,你怎么知道哪个下载完了哪个还没下完?
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

判断数量不如判断时间,最终效果是一样的,但资源占用和复杂度都降低了许多

TOP

我是新手哈,在不考虑资源占用和复杂度的情况下。如何拷贝1000个新文本也是个问题。
例如第一次运行,1000个文本拷贝出来之后,第二次就有2000个文本。如何判定这2000个文本里面哪些是拷贝过的,哪些是未拷贝过的?

如果不是拷贝是移动就好了。

TOP

简单点用xopcy /exclude: 和xcopy /d:结合
这估记不好解,像2楼说的,没法判断是否下载完毕。
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

回复 3# CrLf


    判断时间也可以是一种解决方案,缺点是每个时间段的文本不一样多。因为下载是时断时继的,有时可能相差多一些。

TOP

回复 4# Bearxy


    移出来也可以是降低难度的解决方案。那就要修正下载的方案。目前我用的是多个批命令同时下载,如果服务器中断,重新下载时要判断一下下载目录中不存在的文本才接着下载。

TOP

回复 5# xxpinqz


    是否下载完不是判断难点,下载完成会自动生成当前时间,只要拷贝一分钟前的文件,就是完整的文件。

TOP

回复 2# gawk


    同楼上理由。

TOP

回复 8# pan528
难道断点续传的文件就没日期不成??????
截个未下载完成的文件和已下载的文件图上来看看。
用扩展名判断还靠谱点。
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

用延时+ xcopy /d 简单实现一个,十五分钟没出现更新的文件,就判定为下载完成:
  1. @echo off
  2. set n=0
  3. :loop
  4. ping>nul /n 300 127.1
  5. set /a n+=1
  6. xcopy "下载路径\*" "目标路径\" /s /d|find "\"&&set "n=0"
  7. if %n% leq 3 goto loop
  8. echo 下载完成
  9. pause
复制代码
如果要排除下载产生的临时文件后缀名,可以用 /exclude .download 选项来排除 .download 文件
robocopy 更容易实现监测文件变动,可惜 xp 不自带

TOP

回复 10# xxpinqz


    扩展名判断目测不靠谱,FTP不会像某些下载软件那样把未下载完毕的文件名设置成.part什么的,它完全跟原始文件一个名字。
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

回复 11# CrLf

很抱歉,最近比较忙,没有时间测试。

感谢回帖!

试了一下,拷不出文本来,不知错在哪里?请指教。

TOP

返回列表