Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- OPT ("MUSTDECLAREVARS",1)
- OPT ("TRAYMENUMODE", 3)
- TRAYSETICON ("SHELL32.DLL",13)
- #INCLUDE <FILE.AU3>
- DIM $FOLDERS_NAMES[1]
- LOCAL $FOLDERS_COUNTS = 0 ,$COUNTER = 0,$DRIVERS = 0,$ROOT_DRIVERS_SERIAL = "",$DRIVERS_SERIAL
- TRAYCREATEITEM ("")
- LOCAL $EXIT = TRAYCREATEITEM ("SD-exit")
- FUNC __FOLDERSPEARIDUNG ($ROOT)
- TRAYSETSTATE (2)
- $FOLDERS_NAMES[UBOUND($FOLDERS_NAMES)-1] = $ROOT
- REDIM $FOLDERS_NAMES[UBOUND($FOLDERS_NAMES)+1]
- $FOLDERS_COUNTS += 1
- DO
- CALL ("__GETSUBFOLDERS",$FOLDERS_NAMES[$COUNTER])
- CALL ("__DOEASHFOLDERS",$FOLDERS_NAMES[$COUNTER])
- $COUNTER += 1
- SLEEP (1)
- UNTIL $FOLDERS_COUNTS -1 < $COUNTER
- TRAYSETSTATE (1)
- ENDFUNC
- FUNC __GETSUBFOLDERS ($PATH)
- LOCAL $H_SEARCH,$FOLDER_NAME
- $H_SEARCH = FILEFINDFIRSTFILE($PATH&"\*")
- DO
- $FOLDER_NAME = FILEFINDNEXTFILE($H_SEARCH)
- IF NOT @ERROR AND STRINGINSTR (FILEGETATTRIB ($PATH&"\"&$FOLDER_NAME),"D") AND $PATH <> "" THEN
- $FOLDERS_NAMES[$FOLDERS_COUNTS] = ($PATH&"\"&$FOLDER_NAME)
- $FOLDERS_COUNTS += 1
- REDIM $FOLDERS_NAMES[$FOLDERS_COUNTS+1]
- ENDIF
- UNTIL @ERROR
- FILECLOSE($H_SEARCH)
- ENDFUNC
- FUNC __DOEASHFOLDERS ($PATH)
- LOCAL $H_SEARCH,$FILE_NAME,$FILE_TYPE = STRINGSPLIT (".JPEG|.JPG|.GIF|.PNG|.BMP|.3GP|.MP4","|")
- LOCAL $SZPATH,$SZDRIVE,$SZDIR,$SZFNAME,$SZEXT
- $H_SEARCH = FILEFINDFIRSTFILE ($PATH&"\*")
- DO
- $FILE_NAME = FILEFINDNEXTFILE ($H_SEARCH)
- _PATHSPLIT ($PATH&"\"&$FILE_NAME,$SZDRIVE,$SZDIR,$SZFNAME,$SZEXT)
- FOR $I= 1 TO $FILE_TYPE[0] STEP 1
- IF STRINGUPPER ($SZEXT) = $FILE_TYPE [$I] THEN
- FILECOPY ($PATH&"\"&$FILE_NAME,@SCRIPTDIR&"\SD-scanner\"&$DRIVERS_SERIAL&$SZDIR&"\"&$FILE_NAME,8)
- EXITLOOP
- ENDIF
- NEXT
- SLEEP (1)
- UNTIL $FILE_NAME = ""
- FILECLOSE ($H_SEARCH)
- ENDFUNC
- WHILE 1
- LOCAL $MSG = TRAYGETMSG ()
- CALL ("__NEW_DRIVE")
- SELECT
- CASE $MSG = $EXIT
- EXITLOOP
- CASE $MSG = 0
- CONTINUELOOP
- ENDSELECT
- WEND
- FUNC __NEW_DRIVE ()
- LOCAL $RESULT,$ROOT_DRIVERS
- $ROOT_DRIVERS = DRIVEGETDRIVE ("REMOVABLE")
- IF @ERROR THEN RETURN FALSE
- FOR $I = 1 TO $ROOT_DRIVERS [0] STEP 1
- $DRIVERS_SERIAL = DRIVEGETSERIAL ($ROOT_DRIVERS [$I]&"\")
- $RESULT = STRINGINSTR ($ROOT_DRIVERS_SERIAL,$DRIVERS_SERIAL)
- IF $RESULT = 0 AND ($DRIVERS_SERIAL <> @ERROR OR NOT FILEEXISTS (@SCRIPTDIR&"\SD-scanner\"&$DRIVERS_SERIAL)) THEN
- $ROOT_DRIVERS_SERIAL &= $DRIVERS_SERIAL&"|"
- CALL ("__FOLDERSPEARIDUNG",$ROOT_DRIVERS [$I])
- ENDIF
- NEXT
- ENDFUNC
Advertisement
Add Comment
Please, Sign In to add comment