找回密码
 加入
搜索
查看: 2265|回复: 2

一个简单的、易于理解的带进度条显示的文件夹复制代码

[复制链接]
发表于 2010-1-10 20:12:40 | 显示全部楼层 |阅读模式
本帖最后由 shqf 于 2010-1-10 20:14 编辑
$sDir = "C:\Program Files\Common Files"
$tDir = "E:\Test"
$sSize = DirGetSize($sDir)
ProgressOn("文件夹复制","正在复制" & StringLeft($sDir,14) & "...下所有文件","己复制0%") 
Run(@ComSpec & " /c " & 'xcopy /s /e /y "'& $sDir &'" "'& $tDir & '"',"",@SW_HIDE)                  

While 1
    $tSize=DirGetSize($tDir)
    $Percent=Ceiling($tSize/$sSize*100)
    If $Percent<100 then
        ProgressSet($Percent,"已复制" & $Percent & "%")
    Else
        Sleep(1000)
        ProgressSet("100","已复制100%")        
        Sleep(3000)
        ProgressOff()
        ExitLoop
    EndIf
        Sleep(200)
WEnd
拷贝文件用DOS中的Xcopy命令,原想用AU3当中的DirCopy函数,不知为啥总不行。请问有人知道吗?望赐教。
发表于 2010-1-10 20:36:49 | 显示全部楼层
本帖最后由 jycel 于 2010-1-10 20:43 编辑

DirCopy ( "源目录", "目标目录" [, 标志] ) 无法拷贝?还是那儿出错了?
论坛搜索下相关一大把
发表于 2010-1-10 21:02:41 | 显示全部楼层
哈哈,你这思路跟我的简直是一模一样,我的己经解决了。在这跟你说下,DIRCOPY那是因为要等它执行完,也就是要完全复制完,它才会跳入下一行的代码,所以就不能看到进度条的变化,只能等到它复制完才会显示100%。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-29 00:14 , Processed in 0.222320 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表