找回密码
 加入
搜索
查看: 3320|回复: 5

[AU3基础] 求助,为什么文件复制失败?。。。

  [复制链接]
发表于 2012-10-11 22:09:54 | 显示全部楼层 |阅读模式
代码如下,复制一个文件,并且用进度条展现进度,不知道错在哪里了,文件无法复制成功,求解答
; 用大于2M的文件测试
 $FileCopy = _CopyWithProgress("f:\a\新建文件夹 (2)", "D:\temp", 2048)
 ;检查返回代码,看看是否正确复制文件
 If $FileCopy = 0 Then
 MsgBox(0, "复制完成", "文件复制成功.")
 Else
 MsgBox(16, "复制完成", "文件复制失败.")
 EndIf
 
 Func _CopyWithProgress($inSource, $inDest, $ChunkSize = 2048)
          $SourceSize = DirGetSize ($inSource)
         $Chunks = $SourceSize / $ChunkSize
         ProgressOn("文件复制", "正在复制...", "从: " & $inSource & @LF & "到: " & $inDest)
         For $i = 0 To $Chunks
     ProgressSet((($i + 1) / $Chunks) * 100)
 Next
 ProgressOff()
         $DestSize = DirGetSize($inDest)
 If $SourceSize = $DestSize Then
    Return 0
 Else
    Return 1
 EndIf
 EndFunc
发表于 2012-10-11 22:51:37 | 显示全部楼层
我晕, 你发的代码里哪里有实现复制功能的语句?
文件复制不是写几个中文"复制"就能实现的吧?
发表于 2012-10-11 23:06:28 | 显示全部楼层
是啊,论坛也有复制文件进度条的例子,要多看看,多想想。
发表于 2012-10-11 23:22:46 | 显示全部楼层
这个很有个性。。。
复制简单的
DirCopy ( "源目录", "目标目录" [, 标志] ) 
FileCopy ( "源文件", "目标路径" [, 标志] )

但是进度条这个我真不会
发表于 2012-10-11 23:32:32 | 显示全部楼层
整个代码块都没有出现一句复制的语句,能复制成功 才怪呢。
发表于 2012-10-11 23:47:32 | 显示全部楼层
你这个例子,应该是使用 filewrite 来实现复制的,按指定大小,

把文件分成n段,逐段写入并设置进度条显示。

$SourceFile = FileOpen($inSource,16) ;以二进制形式打开源文件
$DestFile = FileOpen($inDest, 26) ;打开或创建目标文件
$Chunks = $SourceSize / $ChunkSize ;获取源文件大小,计算可以分成多少段写入

For $i = 0 to $Chunks ;从第0字节开始
        $Data = FileRead($SourceFile, $ChunkSize) ;一次读取ChunkSize字节
        FileWrite($DestFile, $Data) ;写入目标文件
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-3 21:28 , Processed in 0.082136 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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