如何每隔几秒检查一下U盘并且自动拷贝文件到U盘?
本帖最后由 pizigao 于 2009-12-26 13:54 编辑因为最近做一件事情~就是把文档要拷贝到U盘里面,因为U盘数量比较多,每次都是点击发送到U盘比较慢~麻烦大家帮我一下!谢谢
过3秒钟判断一次U盘是否插上~如果插上就把C盘下面的1.DOC文件自动拷贝到U盘根目录,拷贝完成后提示拷贝成功;没插上就提示插入U盘!谢谢大家了~ 有可能出现多个u盘吗?
如果有,最好指定固定盘符,比较好判断。 有可能出现多个u盘吗?
如果有,最好指定固定盘符,比较好判断。
sky808 发表于 2009-12-26 08:29 http://www.autoitx.com/images/common/back.gif
不会~就一个U盘 本帖最后由 水木子 于 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 其实这都是帮助文档的内容,稍做修改便可实现。
水木子 发表于 2009-12-26 09:11 http://www.autoitx.com/images/common/back.gif
复制文件的动作如何实现?
运行报错~麻烦木子看一下 这里只要检测Removable就行了吧~不用ALL的吧 我这里运行一切正常啊!是不是Au3版本的问题?
我用的是3.3.2.0 FileCopy等函数都可以用来复制文件。 我这里运行一切正常啊!是不是Au3版本的问题?
我用的是3.3.2.0
水木子 发表于 2009-12-26 10:02 http://www.autoitx.com/images/common/back.gif
我的是3.2.13.7 升级下Au3吧!要不然AdlibRegister 得换成以前的! 本帖最后由 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盘就直接复制文件,不用提示~木子帮我完善一下代码吧!谢谢了! #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:57 编辑
谢谢13楼的兄弟~试试先!拷贝好像不成功么~也没提示!呵呵 本帖最后由 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盘的情况会报错~