我是一家医院的网管,内外网物理隔离,因为只有我的内网工作站U盘可用,最烦很多人要把资料从内网复制到U盘,或从他的U盘资料复制到内网,其它地方都禁用,因为每个U盘杀毒很费时间,所以我现在是在外网电脑将他U盘资料复制到我安全U盘,再将我U盘资料复制到他工作的内网主机,每次都要先到他U盘上找到相关文件 按ctrl+c, 再到我U盘的固定目录 按ctrl+V, 比较烦人,所以我想我按好 ctrl+c 后只想按个 ctrl+alt+m 热键 就自动复制到我我U盘的固定目录 本帖最后由 zzwwdd 于 2012-6-8 17:04 编辑
;经过不懈努力 终于自己搞定 请看代码,对大家可能有用。
;先选择相关文件
#include <Process.au3>
Send ("{CTRLDOWN}") ;按ctrl+C复制到剪贴板
Send ('c')
Send ("{CTRLUP}")
_RunDos("start N:\lswj");打开U盘目录
Send ("{CTRLDOWN}") ;发送快捷键 ctrl+v
Send ('v')
Send ("{CTRLUP}")
;太爽了,成功了!!! 怎样转到已解决区? 循环可能盘符,都发送一遍,比如h-z。 回复 17# zzwwdd
盘符变化了肿么办?
修改标题,加上【已解决】就行了。 回复 17# zzwwdd
可以简化一下下哈
Send("^c") 的意思是发送按键 "CTRL+c" 改进后的最新版本
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#PRE_UseUpx=n
#PRE_Res_requestedExecutionLevel=None
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
;#include <Clipboard.au3>
Send ("{CTRLDOWN}{ALTDOWN}")
Sleep('500')
Send ("{CTRLUP}{ALTUP}")
Sleep('1000')
Send ("{CTRLDOWN}")
Sleep('500')
send('c')
Send ("{CTRLUP}")
;Local $nr = _ClipBoard_GetData()
Dim $Var
$Drive=DriveGetDrive("removable")
$var1=StringUpper($Drive)
$var2=StringUpper($Drive)
IfFileExists($var1&"\lswj") Then
;MsgBox(0,$var1&"\lswj",$var1&"\lswj")
$a = DirGetSize($var1&"\lswj\cwj", 1)
If $a = 0 And $a = 0 then
tup2wup1();他U盘复制到我U盘
Else
wup2tup1() ;我U盘复制到他U盘
EndIf
Else
IfFileExists($var2&"\lswj") Then
$c = DirGetSize($var2&"\lswj\cwj", 1)
If ($c = 0 And $c = 0) then
tup2wup2()
Else
;MsgBox(0,$c,$c)
wup2tup2()
EndIf
EndIf
EndIf
Func tup2wup1()
If dirMove($Var1&"\lswj\xz\", $Var1&"\lswj\ls\",1) then
;Sleep('1000')
If DirCreate($Var1&"\lswj\xz\") then
if ShellExecuteWait ($Var1&"\lswj\xz\",@SW_SHOWMAXIMIZED) Then
Sleep('1000')
;FileCopy($nr,$Var1&"\lswj\xz\")
Send ("{CTRLDOWN} v")
Sleep('200')
Send ("{CTRLUP}")
endif
EndIf
EndIf
EndFunc
Func tup2wup2()
;MsgBox(0,$var2&"\lswj",$var2&"\lswj")
If dirMove($Var2&"\lswj\xz\", $Var2&"\lswj\ls\",1) then
;Sleep('1000')
If DirCreate($Var2&"\lswj\xz\") then
if ShellExecuteWait ($Var2&"\lswj\xz\",@SW_SHOWMAXIMIZED) Then
Sleep('1000')
;FileCopy($nr,$Var1&"\lswj\xz\")
Send ("{CTRLDOWN} v")
Sleep('200')
Send ("{CTRLUP}")
endif
EndIf
EndIf
EndFunc
Func wup2tup1()
If FileMove($var1&"\lswj\cwj\*.*", $var2&"\") Then
$b = DirGetSize($var1&"\lswj\cwj", 1)
If $b = 0 And $b = 0 then
MsgBox(4096, "提醒:", "文件移动成功!",3)
Run ("D:\U盘备份\source\2012\08\uptc.exe")
EndIf
Else
MsgBox(16, "提醒:", "文件移动不成功!可能文件重名,改下名字再试!",6)
EndIf
EndFunc
Func wup2tup2()
If FileMove($var2&"\lswj\cwj\*.*", $var1&"\")Then
$b = DirGetSize($var2&"\lswj\cwj", 1)
If $b = 0 And $b = 0 then
MsgBox(4096, "提醒:", "文件移动成功!",3)
Run ("D:\U盘备份\source\2012\08\uptc.exe")
EndIf
Else
MsgBox(16, "提醒:", "文件移动不成功!可能文件重名,改下名字再试!",6)
EndIf
EndFunc 哈哈,学习咯,
页:
1
[2]