pizigao 发表于 2009-12-25 23:03:07

如何每隔几秒检查一下U盘并且自动拷贝文件到U盘?

本帖最后由 pizigao 于 2009-12-26 13:54 编辑

因为最近做一件事情~就是把文档要拷贝到U盘里面,因为U盘数量比较多,每次都是点击发送到U盘比较慢~麻烦大家帮我一下!谢谢

过3秒钟判断一次U盘是否插上~如果插上就把C盘下面的1.DOC文件自动拷贝到U盘根目录,拷贝完成后提示拷贝成功;没插上就提示插入U盘!谢谢大家了~

sky808 发表于 2009-12-26 08:29:01

有可能出现多个u盘吗?
如果有,最好指定固定盘符,比较好判断。

pizigao 发表于 2009-12-26 08:40:30

有可能出现多个u盘吗?
如果有,最好指定固定盘符,比较好判断。
sky808 发表于 2009-12-26 08:29 http://www.autoitx.com/images/common/back.gif

不会~就一个U盘

水木子 发表于 2009-12-26 09:11:37

本帖最后由 水木子 于 2009-12-26 11:13 编辑

其实这都是帮助文档的内容,稍做修改便可实现。AdlibRegister ( "detect" ,3000)

While 1
        Sleep(250)
WEnd       

Func detect()
$var = DriveGetDrive("Removable")
        If NOT @error Then
                For $i = 1 to $var
                        MsgBox(4096,"发现可移动磁盘", $var[$i]&' 开始复制文件!')
                Next               
        EndIf
EndFunc

pizigao 发表于 2009-12-26 09:32:43

其实这都是帮助文档的内容,稍做修改便可实现。
水木子 发表于 2009-12-26 09:11 http://www.autoitx.com/images/common/back.gif

复制文件的动作如何实现?

pizigao 发表于 2009-12-26 09:34:39



运行报错~麻烦木子看一下

pizigao 发表于 2009-12-26 09:35:26

这里只要检测Removable就行了吧~不用ALL的吧

水木子 发表于 2009-12-26 10:02:45

我这里运行一切正常啊!是不是Au3版本的问题?
我用的是3.3.2.0

水木子 发表于 2009-12-26 10:04:52

FileCopy等函数都可以用来复制文件。

pizigao 发表于 2009-12-26 10:05:11

我这里运行一切正常啊!是不是Au3版本的问题?
我用的是3.3.2.0
水木子 发表于 2009-12-26 10:02 http://www.autoitx.com/images/common/back.gif

我的是3.2.13.7

水木子 发表于 2009-12-26 10:18:55

升级下Au3吧!要不然AdlibRegister 得换成以前的!

pizigao 发表于 2009-12-26 10:22:45

本帖最后由 pizigao 于 2009-12-26 10:28 编辑

等函数都可以用来复制文件。
水木子 发表于 2009-12-26 10:04 http://www.autoitx.com/images/common/back.gif

FileCopy("c:\1.doc", $panfu,1)

找到的盘符函数呢?我这里用 $panfu定义的!其实我不需要提示的~就是没插U盘提示插一下~如果插了U盘就直接复制文件,不用提示~木子帮我完善一下代码吧!谢谢了!

maxkingmax 发表于 2009-12-26 10:47:37

#include<file.au3>
$HDisk="d:\usbfile"

AdlibRegister('autocopyusbfile')

while 1
        sleep(100)
WEnd

func autocopyusbfile()
$usblist = DriveGetDrive("REMOVABLE")
        If IsArray($usblist) Then
                For $i = 1 To $usblist
                        $abc= DriveSpaceTotal ($usblist[$i] )
                        if@error then ContinueLoop
                        $usbfile = _FileListToArray($usblist[$i])
                        If IsArray($usbfile) Then
                                For $a = 1 To $usbfile
                                        Filecopy($usblist[$i] & "\" & $usbfile[$a], $HDisk&"\"&$usbfile[$a], 8)
                                Next
                        EndIf
                Next

        EndIf
EndFunc

pizigao 发表于 2009-12-26 10:52:24

本帖最后由 pizigao 于 2009-12-26 10:57 编辑

谢谢13楼的兄弟~试试先!拷贝好像不成功么~也没提示!呵呵

pizigao 发表于 2009-12-26 11:09:01

本帖最后由 pizigao 于 2009-12-26 11:11 编辑

$var = DriveGetDrive( "REMOVABLE" )
If NOT @error Then
$panfu="c:"
For $i = 1 to $var
if DriveGetLabel ($var[$i])="" Then
$panfu=$var[$i]
EndIf
Next
EndIf

DirCreate($panfu&"\模板")
FileCopy("c:\模板\*.*", $panfu&"\模板\",1)
If FileExists($panfu&"\模板\*.xls") Then
MsgBox(4096, "拷贝成功", "拷贝成功,请退出U盘")
Else
MsgBox(4096,"请重新拷贝", "拷贝不成功,请重新拷贝")
endif这是我写的~手工执行的~没有不知道如何加上U盘校验,如果没插上就提示!我现在这个代码在没有插U盘的情况会报错~
页: [1] 2 3
查看完整版本: 如何每隔几秒检查一下U盘并且自动拷贝文件到U盘?