梦想吧技术论坛's Archiver

似水年华 发表于 2007-4-22 06:55 PM

AU3-文件自动保存为TXT工具

此工具只需要选择你想保存的文件内容,然后按F2或者是ctal+F2即可自动保存

#Include <Constants.au3>
#NoTrayIcon
Opt("TrayMenuMode",1)   

OPT("TrayAutoPause",0)
HotKeySet("{ESC}", "Terminate")
HotKeySet("{F2}", "SaveTo")
Func Terminate()
  exit
EndFunc

Dim $ContentSavePatten[2]
    $ContentSavePatten[0]="按时间目录+内容名保存"
    $ContentSavePatten[1]="按时间目录+时间名保存"
   
Dim $Contentshoutcutitem[2]
    $Contentshoutcutitem[0]="只F2"
    $Contentshoutcutitem[1]="先CTRL-C再F2"
   
Dim  $shoutcutItem[2]
Dim  $setsaveitem[2]

$SavePatten=IniRead ( "set.ini", "SaveTo", "TimeContent", "0" )
$shoutcutPatten=IniRead ( "set.ini", "SaveTo", "Shoutcut", "0" )


     


$ContentSavePatten[$SavePatten]="★"&$ContentSavePatten[$SavePatten]
$Contentshoutcutitem[$shoutcutPatten]="★"&$Contentshoutcutitem[$shoutcutPatten]

$setsave  = TrayCreateMenu("保存方式设置")
$setsaveitem[0] = TrayCreateItem($ContentSavePatten[0], $setsave )
$setsaveitem[1] = TrayCreateItem($ContentSavePatten[1], $setsave )

$shoutcut  = TrayCreateMenu("快捷键设置")
$shoutcutItem[0]= TrayCreateItem($Contentshoutcutitem[0], $shoutcut )
$shoutcutItem[1]= TrayCreateItem($Contentshoutcutitem[1], $shoutcut )
TrayCreateItem("")
$aboutitem      = TrayCreateItem("关于")
TrayCreateItem("")
$exititem       = TrayCreateItem("退出")


TraySetState()

$sPath =@WorkingDir&"\保存的文件\"&@YEAR&"-"&@MON&"-"&@MDAY&"\"

DirCreate ( $sPath )

While 1
    ;Sleep(300)
    $msg = TrayGetMsg()
    Select
        
        Case $msg = 0
            ContinueLoop
        Case $msg=$setsaveitem[0]
             $SavePatten=0
              UpdateSavePatten()
              IniWrite ( "set.ini", "SaveTo", "TimeContent", "0" )
              
        Case $msg=$setsaveitem[1]
              $SavePatten=1
              UpdateSavePatten()
              IniWrite ( "set.ini", "SaveTo", "TimeContent", "1" )
              
        Case $msg=$shoutcutItem[0]
             $shoutcutPatten=0
             UpdateHotKey()
             IniWrite ( "set.ini", "SaveTo", "Shoutcut", "0" )
            
        Case $msg=$shoutcutItem[1]
             $shoutcutPatten=1
             UpdateHotKey()
             IniWrite ( "set.ini", "SaveTo", "Shoutcut", "1" )
            
        Case $msg = $aboutitem
            Msgbox(64,"关于:  作者文档  2005-07-25","SvaeTo   快速保存!")
            
        Case $msg = $exititem
            Exit
    EndSelect
WEnd

Exit

Func SaveTo()

   If $shoutcutPatten=1 then
      Send("^c")
   EndIf
   
   $bak = ClipGet()
   
   
   If $SavePatten=1 Then
     $FileName=$sPath&@HOUR&@MIN&@SEC&".txt"  
     FileWrite ($FileName, $bak )
     Msgbox(0,"注意","已经保存为:"&$FileName)
   Else
     $FileName=$sPath&@HOUR&@MIN&@SEC&".txt"   
      FileWrite ($FileName, $bak )
     $Title=FileReadLine ( $FileName , 1 )
     $Title=Clean($Title)
     FileMove ( $FileName, $sPath&$Title&".txt")
     Msgbox(0,"注意","已经保存为:"&$sPath&$Title&".txt")
   EndIf
EndFunc  

Func Clean($sTitle)
         $sTitle=StringReplace($sTitle,'"','')
     $sTitle=StringReplace($sTitle,'<','')
     $sTitle=StringReplace($sTitle,'>','')
     $sTitle=StringReplace($sTitle,'/','')
     $sTitle=StringReplace($sTitle,'\','')
     $sTitle=StringReplace($sTitle,'|','')
     $sTitle=StringReplace($sTitle,'*','')
     $sTitle=StringReplace($sTitle,'?','')
  $sTitle=StringReplace($sTitle,':','')
  $sTitle=StringReplace($sTitle,' ','')
  Return $sTitle
EndFunc

Func UpdateHotKey()
  
   $Contentshoutcutitem[0]="只F2"
    $Contentshoutcutitem[1]="先CTRL-C再F2"
   
     $Contentshoutcutitem[$shoutcutPatten]="★"&$Contentshoutcutitem[$shoutcutPatten]
     TrayItemSetText ($shoutcutItem[0],$Contentshoutcutitem[0])
     TrayItemSetText ($shoutcutItem[1],$Contentshoutcutitem[1])
  
   
EndFunc

Func UpdateSavePatten()
    $ContentSavePatten[0]="按时间目录+内容名保存"
    $ContentSavePatten[1]="按时间目录+时间名保存"
   
    $Contentshoutcutitem[0]="CTRL+C"
    $Contentshoutcutitem[1]="F2"
   
  $ContentSavePatten[$SavePatten]="★"&$ContentSavePatten[$SavePatten]
  
  TrayItemSetText ($setsaveitem[0],$ContentSavePatten[0])
  TrayItemSetText ($setsaveitem[1],$ContentSavePatten[1])
  
  TrayItemSetText ($shoutcutItem[0],$Contentshoutcutitem[0])
  TrayItemSetText ($shoutcutItem[1],$Contentshoutcutitem[1])
  

EndFunc

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.