zzwwdd 发表于 2012-6-8 11:04:49

回复 14# haijie1223


    我是一家医院的网管,内外网物理隔离,因为只有我的内网工作站U盘可用,最烦很多人要把资料从内网复制到U盘,或从他的U盘资料复制到内网,其它地方都禁用,因为每个U盘杀毒很费时间,所以我现在是在外网电脑将他U盘资料复制到我安全U盘,再将我U盘资料复制到他工作的内网主机,每次都要先到他U盘上找到相关文件 按ctrl+c, 再到我U盘的固定目录 按ctrl+V, 比较烦人,所以我想我按好 ctrl+c 后只想按个 ctrl+alt+m 热键 就自动复制到我我U盘的固定目录

zzwwdd 发表于 2012-6-8 16:52:23

本帖最后由 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}")


;太爽了,成功了!!!

zzwwdd 发表于 2012-6-8 17:10:15

怎样转到已解决区?

sellkingfly 发表于 2012-6-8 20:33:41

循环可能盘符,都发送一遍,比如h-z。

xms77 发表于 2012-6-8 21:08:43

回复 17# zzwwdd
盘符变化了肿么办?
修改标题,加上【已解决】就行了。

xms77 发表于 2012-6-8 21:13:52

回复 17# zzwwdd
可以简化一下下哈
Send("^c") 的意思是发送按键 "CTRL+c"

zzwwdd 发表于 2013-3-13 14:44:44

改进后的最新版本
#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

mindy_xie 发表于 2013-3-20 17:14:11

哈哈,学习咯,
页: 1 [2]
查看完整版本: 【已解决】如何复制粘贴多个文件到指定目录中?