Jump to content

Copy files, sort by extension, show progress bar and show summary


Recommended Posts

Hey,

 

As a newbie i was wondering if someone can help me out putting my pieces together.

I like to have a script for the next task:

 

- I want to select a directory with an FileSelectFolder

- all files in that directory and in all subdirectories should be copied to a direcory i can select with FileSelectFolder (with the possibility to create a new folder)

- All copied files in target directory should be sorted by directory named with their extension (f.e. picture.jpg should be copied to the target-directory, under a automaticly created sub-directory called JPG. Note that files without extension should be copied to sub-directory 'no-extension'

- I would like to see a progressbar running while copying

- I would lik to see a summary and the end of the proces telling me how many files were copied/sorted

 

What i allready found:

 

* copy all files with xcopy from directory and it's subdirectories to target folder in cmd-terminal:

             for /R D: %G IN (*.*) DO xcopy /Y "%G" C:myfolder

 

* code for progressbar and summary:

$source=FileSelectFolder("Choose a drive or folder.", @DesktopDir, 2)
If($source="")And(@error=1) Then Exit
$size=DirGetSize($source, 1+2)
$sizcou=($size[1]+$size[2])
MsgBox(0, "", "Step count = "&$sizcou)
$search=FileFindFirstFile($source&"\*")
$i=0
$count=""
ProgressOn("Counter Progress", "", "", 400, 300)
Do
    $i+=(100/$sizcou)
    $files=FileFindNextFile($search)
    $count=$count&$files&@CRLF
    ProgressSet($i, $files, "Loading.."&Round($i)&"%")
    If $files>=$sizcou Or $i > 100 Then
        ProgressSet(100, "Finish....................", "Loading..100%")
        ExitLoop
    EndIf
    Sleep(200)
Until $files==""Or $i==$sizcou
FileClose($search)
ToolTip("")
Sleep(500)
ProgressOff()
MsgBox(0, "", "Location: "&$source&@CRLF& _
              "All files: "&$sizcou&@CRLF& _
              "Files: "&$size[1]&@CRLF& _
              "Folder: "&$size[2]&@CRLF)
 
* code for sorting although this one makes filename-subdirs when no extension instead of the "no-extension" directory i want:

Opt("TrayIconHide", 1)
 
$arr = _FileSearch(@ScriptDir & "\recup_dir*", 0, 0, 0, 1)
 
If $arr[0] == 0 Then
ConsoleWrite("Cant find any recup_dir folders!" & @CRLF & "Exiting....");
Sleep(5000)
Exit
EndIf
 
For $my_i = 1 To $arr[0] Step 1
 
$search = FileFindFirstFile($arr[$my_i] & "\*.*")
 
; Check if the search was successful
If $search = -1 Then
ConsoleWrite("Cant find a file!" & @CRLF);
_DelEmptyDir($arr[$my_i])
ConsoleWrite("Exiting....");
Sleep(5000)
Exit
EndIf
 
While 1 ; Search was successful
 
$file = FileFindNextFile($search)
If @error Then ExitLoop
 
$ext = StringSplit($file, ".")
 
 
$path = $arr[$my_i] & "\" & $file
$dir = @ScriptDir & "\" & StringUpper($ext[$ext[0]])
 
If FileExists($dir) Then
ConsoleWrite("Folder " & $dir & " already exists" & @CRLF)
Else
DirCreate($dir)
ConsoleWrite("Created folder " & $dir & @CRLF)
EndIf
 
If FileMove($path, $dir) Then ConsoleWrite("Moved " & $path & " to " & $dir & @CRLF)
 
WEnd
 
; Close the search handle
FileClose($search)
 
;Check if current recup_dir folder is empty and delete
_DelEmptyDir($arr[$my_i])
 
 
Next
 
ConsoleWrite(@CRLF & "All Done!" & @CRLF);
Sleep(5000)
 
Func _DelEmptyDir($current_dir) ; Checks if current recup_dir folder is empty then deletes it
$size = DirGetSize($current_dir)
 
If $size == 0 Then
If DirRemove($current_dir) Then ConsoleWrite("Removed empty folder " & $current_dir & @CRLF)
EndIf
EndFunc   ;==>_DelEmptyDir
 
 
; _FileSearch( "Path and Mask", <$nOption>, <$cpusaver>, <$dirfilter>, <$filefilter>)
;
;----PARAMETERS-----
;$nOption -   <Optional (0 - normal, 1- recursive)>
;$cpusaver -  <Optional (0 - normal, 1 - CPU Friendly, but Slower)>
;$dirfilter - <Optional (0 - list directories, 1 - filter out directories)>
;$filefilter- <Optional (0 - list files, 1 - filter out files)>
;
;----RETURN-----
; Returns array. Either Array of files (full path) where...
; Array[0] is number of files.
; Array[0] = 0 if nothing found.
; EXAMPLE USAGE
;--------------------------------------------
;~ #include<array.au3>
;~ $a = _FileSearch("C:\*.*", 1, 0, 0, 0)
;~ _ArrayDisplay($a)
;--------------------------------------------
Func _FileSearch($szMask, $nOption = 0, $cpusaver = 0, $dirfilter = 0, $filefilter = 0)
$szRoot = ""
$hFile = 0
$szBuffer = ""
$szReturn = ""
$szPathList = "*"
Dim $aNULL[1]
 
If Not StringInStr($szMask, "\") Then
$szRoot = @ScriptDir & "\"
Else
While StringInStr($szMask, "\")
$szRoot = $szRoot & StringLeft($szMask, StringInStr($szMask, "\"))
$szMask = StringTrimLeft($szMask, StringInStr($szMask, "\"))
WEnd
EndIf
If $nOption = 0 Then
_FileSearchUtil($szRoot, $szMask, $szReturn, $cpusaver, $dirfilter, $filefilter)
Else
While 1
$hFile = FileFindFirstFile($szRoot & "*.*")
If $hFile >= 0 Then
$szBuffer = FileFindNextFile($hFile)
While Not @error
If $szBuffer <> "." And $szBuffer <> ".." And _
StringInStr(FileGetAttrib($szRoot & $szBuffer), "D") Then _
$szPathList = $szPathList & $szRoot & $szBuffer & "*"
$szBuffer = FileFindNextFile($hFile)
WEnd
FileClose($hFile)
EndIf
_FileSearchUtil($szRoot, $szMask, $szReturn, $cpusaver, $dirfilter, $filefilter)
If $szPathList == "*" Then ExitLoop
$szPathList = StringTrimLeft($szPathList, 1)
$szRoot = StringLeft($szPathList, StringInStr($szPathList, "*") - 1) & "\"
$szPathList = StringTrimLeft($szPathList, StringInStr($szPathList, "*") - 1)
WEnd
EndIf
If $szReturn = "" Then
$aNULL[0] = 0
Return $aNULL
Else
Return StringSplit(StringTrimRight($szReturn, 1), "*")
EndIf
EndFunc   ;==>_FileSearch
 
Func _FileSearchUtil(ByRef $ROOT, ByRef $MASK, ByRef $RETURN, $cpusaver, $dirfilter, $filefilter)
$hFile = FileFindFirstFile($ROOT & $MASK)
If $hFile >= 0 Then
$szBuffer = FileFindNextFile($hFile)
While Not @error
If $cpusaver = 1 Then Sleep(1) ;OPTIONAL FOR CPU SAKE
If $szBuffer <> "." And $szBuffer <> ".." Then
If StringInStr(FileGetAttrib($ROOT & $szBuffer), "D") Then
If $dirfilter = 0 Then $RETURN = $RETURN & $ROOT & $szBuffer & "*"
Else
If $filefilter = 0 Then $RETURN = $RETURN & $ROOT & $szBuffer & "*"
EndIf
EndIf
$szBuffer = FileFindNextFile($hFile)
WEnd
FileClose($hFile)
EndIf
EndFunc   ;==>_FileSearchUtil
 

 

 

Sources:

Sorter => http://builtbackwards.com/wp-content/uploads/2008/10/PhotoRec_Sorter-v1009.zip

Progressbar counter => '?do=embed' frameborder='0' data-embedContent>>

Copy files from directory and subs to 1 => http://superuser.com/questions/267824/how-to-copy-files-inside-several-folders-into-another-directory

 

Hope you guys can help me out to fit it together in 1 script :-)

Edited by Melba23
Added code tags
Link to comment
Share on other sites

#region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_OutFile=Sort.exe
#AutoIt3Wrapper_icon=Sort.ico
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseAnsi=y
#AutoIt3Wrapper_Res_Comment=-
#AutoIt3Wrapper_Res_Description=Sort.exe
#AutoIt3Wrapper_Res_Fileversion=0.2.0.0
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=n
#AutoIt3Wrapper_Res_LegalCopyright=AZJIO
#AutoIt3Wrapper_Res_Language=1033
#AutoIt3Wrapper_Run_AU3Check=n
#AutoIt3Wrapper_Run_Obfuscator=y
#Obfuscator_Parameters=/sf /sv /om /cs=0 /cn=0
#AutoIt3Wrapper_Run_After=del /f /q "%scriptdir%\%scriptfile%_Obfuscated.au3"
#endregion ;**** Directives created by AutoIt3Wrapper_GUI ****

#NoTrayIcon
Opt("GUIOnEventMode", 1)
#include <FileOperations.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Global $Lng[28]
$Lng[1] = "Sort by extension"
$Lng[2] = 'Status bar'
$Lng[3] = "Source path (use drag-and-drop)"
$Lng[4] = "Destination path (use drag-and-drop)"
$Lng[5] = "Ignore file types"
$Lng[6] = "If the field is a drop-down list is empty,"
$Lng[7] = "then this item is ignored"
$Lng[8] = "Remove file types"
$Lng[9] = "Leave the box blank"
$Lng[10] = "to ignore option"
$Lng[11] = "Delete files less than the specified size, KB"
$Lng[12] = "to ignore the size"
$Lng[13] = "Remove attribute"
$Lng[14] = "Sort"
$Lng[15] = 'Started...'
$Lng[16] = 'Error'
$Lng[17] = 'Path contains invalid characters'
$Lng[18] = 'Files not found'
$Lng[19] = 'Processed '
$Lng[20] = ' files'
$Lng[21] = 'files without extension'
$Lng[22] = ' Copy'
$Lng[23] = ' Copy ('
$Lng[24] = 'Done...  from '
$Lng[25] = 'Moved : '
$Lng[26] = ',  deleted : '
$Lng[27] = ',  ignoring : '

If @OSLang = 0419 Then
    $Lng[1] = "Сортировка по расширению"
    $Lng[2] = 'Строка состояния'
    $Lng[3] = "Путь - источник (используйте drag-and-drop)"
    $Lng[4] = "Путь - получатель (используйте drag-and-drop)"
    $Lng[5] = "Игнорировать типы файлов"
    $Lng[6] = "Если поле раскрывающегося списка"
    $Lng[7] = "пустое, то этот пункт не учитывается"
    $Lng[8] = "Удалять типы файлов"
    $Lng[9] = "Оставте поле пустым"
    $Lng[10] = "для игнорирования параметра"
    $Lng[11] = "Удалять файлы менее указанного размера, кб"
    $Lng[12] = "для игнорирования размера"
    $Lng[13] = "Снять атрибут"
    $Lng[14] = "Сортировать"
    $Lng[15] = 'Началось...'
    $Lng[16] = 'Ошибка'
    $Lng[17] = 'Путь содержит неверные символы'
    $Lng[18] = 'Файлов ненайдено'
    $Lng[19] = 'Обрабатываются '
    $Lng[20] = ' файлов'
    $Lng[21] = 'файлы без расширения'
    $Lng[22] = ' Копия'
    $Lng[23] = ' Копия ('
    $Lng[24] = 'Выполнено...  Из '
    $Lng[25] = 'перемещено: '
    $Lng[26] = ',  удалено: '
    $Lng[27] = ',  игнорир: '
EndIf

Global $iniTypeFile = 'avi;mpg;mpeg;mp4;vob;mkv;asf;asx;wmv;mov;3gp;flv;bik|mp3;wav;wma;ogg;ac3|bak;gid;log;tmp' & _
        '|htm;html;css;js;php|bmp;gif;jpg;jpeg;png;tif;tiff|exe;msi;scr;dll;cpl;ax|com;sys;bat;cmd'
Global $ini = @ScriptDir & '\sort_files.ini'

If Not FileExists($ini) And DriveStatus(StringLeft(@ScriptDir, 1)) <> 'NOTREADY' Then
    $file = FileOpen($ini, 2)
    FileWrite($file, '[Set]' & @CRLF & _
            'TypeFile=' & $iniTypeFile & @CRLF & _
            'TrType=' & @CRLF & _
            'LastType=' & @CRLF & _
            'Size=' & @CRLF & _
            'PathOut=' & @CRLF & _
            'Path=')
    FileClose($file)
EndIf

$iniTypeFile = IniRead($ini, 'Set', 'TypeFile', $iniTypeFile)
$iniPath = IniRead($ini, 'Set', 'Path', '')
$iniOutPath = IniRead($ini, 'Set', 'PathOut', '')
$LastType = IniRead($ini, 'Set', 'LastType', '')
$iniSize = IniRead($ini, 'Set', 'Size', '')
$iniTrType = IniRead($ini, 'Set', 'TrType', '')

If $LastType And $iniTypeFile And StringInStr('|' & $iniTypeFile & '|', '|' & $LastType & '|') Then
    StringReplace('|' & $iniTypeFile & '|', '|' & $LastType & '|', '|')
    StringTrimLeft($iniTypeFile, 1)
    StringTrimRight($iniTypeFile, 1)
EndIf

GUICreate($Lng[1], 450, 230, -1, -1, -1, $WS_EX_ACCEPTFILES) ; размер окна
If Not @Compiled Then GUISetIcon(@ScriptDir & '\Sort.ico')
; GUISetBkColor(0xF9F9F9)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
GUISetOnEvent($GUI_EVENT_DROPPED, "_Dropped")

$StatusBar = GUICtrlCreateLabel(@CRLF & $Lng[2], 5, 196, 330, 34)

GUICtrlCreateLabel($Lng[3], 20, 13, 400, 20)

$inpPath = GUICtrlCreateInput("", 20, 30, 410, 22)
GUICtrlSetState(-1, 8)
If $iniPath Then GUICtrlSetData(-1, $iniPath)

GUICtrlCreateLabel($Lng[4], 20, 63, 400, 20)
$OutPath = GUICtrlCreateInput("", 20, 80, 410, 22)
GUICtrlSetState(-1, 8)
If $iniOutPath Then GUICtrlSetData(-1, $iniOutPath)

$Ignore = GUICtrlCreateRadio($Lng[5], 20, 113, 180, 17)
GUICtrlSetTip(-1, $Lng[6] & @CRLF & $Lng[7])
$deltype = GUICtrlCreateRadio($Lng[8], 20, 130, 180, 17)
GUICtrlSetTip(-1, $Lng[6] & @CRLF & $Lng[7])

$typefile = GUICtrlCreateCombo("", 200, 117, 230, 24)
GUICtrlSetData(-1, $LastType & '|' & $iniTypeFile, $LastType)
GUICtrlSetTip(-1, $Lng[9] & @CRLF & $Lng[10])

GUICtrlCreateLabel($Lng[11], 20, 160, 260, 20)
$size = GUICtrlCreateInput("", 280, 157, 100, 22)
GUICtrlSetTip(-1, $Lng[9] & @CRLF & $Lng[12])
If $iniSize Then GUICtrlSetData(-1, $iniSize)

$checkAtrb = GUICtrlCreateCheckbox($Lng[13], 20, 180, 95, 17)
GUICtrlSetState(-1, 1)

$startsh = GUICtrlCreateButton($Lng[14], 340, 190, 90, 33)
GUICtrlSetOnEvent(-1, "_Sort")

$typefile0 = GUICtrlRead($typefile)
Switch $iniTrType
    Case 1
        If $typefile0 Then GUICtrlSetState($Ignore, 1)
    Case 2
        If $typefile0 Then GUICtrlSetState($deltype, 1)
EndSwitch

GUISetState()
OnAutoItExitRegister("_Exit_Save_Ini")

While 1
    Sleep(10000000)
WEnd

Func _Exit_Save_Ini()
    If DriveStatus(StringLeft(@ScriptDir, 1)) <> 'NOTREADY' Then
        $typefile0 = GUICtrlRead($typefile)
        If $typefile0 <> $LastType Then IniWrite($ini, 'Set', 'LastType', $typefile0)
        
        $inpPath0 = GUICtrlRead($inpPath)
        If FileExists($inpPath0) And $iniPath <> $inpPath0 Then IniWrite($ini, 'Set', 'Path', $inpPath0)
        
        $OutPath0 = GUICtrlRead($OutPath)
        If FileExists($OutPath0) And $iniOutPath <> $OutPath0 Then IniWrite($ini, 'Set', 'PathOut', $OutPath0)
        
        $size0 = GUICtrlRead($size)
        If $size0 <> $iniSize Then IniWrite($ini, 'Set', 'Size', $size0)
        
        If GUICtrlRead($Ignore) = 1 And $iniTrType <> 1 Then
            IniWrite($ini, 'Set', 'TrType', 1)
        ElseIf GUICtrlRead($deltype) = 1 And $iniTrType <> 2 Then
            IniWrite($ini, 'Set', 'TrType', 2)
        ElseIf GUICtrlRead($typefile) = '' And $iniTrType <> 0 Then
            IniWrite($ini, 'Set', 'TrType', 0)
        EndIf
    EndIf
EndFunc   ;==>_Exit_Save_Ini

Func _Sort()
    $del0 = 0
    $ign0 = 0
    $move0 = 0
    $checkAtrb0 = GUICtrlRead($checkAtrb)
    $Ignore0 = GUICtrlRead($Ignore)
    $deltype0 = GUICtrlRead($deltype)
    $OutPath0 = GUICtrlRead($OutPath)
    $inpPath0 = GUICtrlRead($inpPath)
    $typefile0 = StringRegExpReplace(';' & GUICtrlRead($typefile) & ';', '[;]+', ';')
    $size0 = 1024 * GUICtrlRead($size)
    GUICtrlSetData($StatusBar, @CRLF & $Lng[15])
    If StringRegExpReplace($OutPath0, '[A-z]:\\[^/:*?"<>|]*', '') Or StringInStr($OutPath0, '\\') Or Not $OutPath0 Then Return MsgBox(0, $Lng[16], $Lng[17])
    If StringRight($OutPath0, 1) = '\' Then $OutPath0 = StringTrimRight($OutPath0, 1)
    ; поиск файлов
    If FileExists($inpPath0) Then
        $inpPath1 = StringRegExpReplace($inpPath0, "(^.*)\\(.*)$", '\1')
        $FileList = _FO_FileSearch($inpPath0, '*', True, 125, 1, 0) ; список полных путей
        If @error Then
            GUICtrlSetData($StatusBar, $Lng[18])
            $FileList = ''
            Return
        EndIf
        $FileList = StringRegExp($FileList, '(?m)^(.*\\)(.*?)(?:\r|\z)', 3)
        $ArrSz = UBound($FileList)
        
        GUICtrlSetData($StatusBar, @CRLF & $Lng[19] & $ArrSz / 2 & $Lng[20])
        ; $fileName = $FileList[$i+1]
        For $i = 0 To $ArrSz - 1 Step 2
            If StringInStr($FileList[$i + 1], '.') Then
                $tmptype = StringTrimLeft($FileList[$i + 1], StringInStr($FileList[$i + 1], '.', 0, -1)) ; получить расширение файла
                $typeFolder = $tmptype
                
                If $deltype0 = 1 And $typefile0 And StringInStr($typefile0, ';' & $tmptype & ';') Then ; удалить типы файлов
                    If $checkAtrb0 = 1 Then FileSetAttrib($FileList[$i] & $FileList[$i + 1], "-RASHT")
                    If FileDelete($FileList[$i] & $FileList[$i + 1]) Then
                        $del0 += 1
                    Else
                        $ign0 += 1
                    EndIf
                    ContinueLoop
                ElseIf $Ignore0 = 1 And $typefile0 And StringInStr($typefile0, ';' & $tmptype & ';') Then ; игнорировать
                    $ign0 += 1
                    ContinueLoop
                EndIf
            Else
                $tmptype = ''
                $typeFolder = $Lng[21]
            EndIf

            If $size0 And FileGetSize($FileList[$i] & $FileList[$i + 1]) <= $size0 Then ; удалить если менее указанного размера
                If $checkAtrb0 = 1 Then FileSetAttrib($FileList[$i] & $FileList[$i + 1], "-RASHT")
                If FileDelete($FileList[$i] & $FileList[$i + 1]) Then
                    $del0 += 1
                Else
                    $ign0 += 1
                EndIf
                ContinueLoop
            EndIf
            ; если файл существует в новом каталоге, то переименовать его перед перемещением, иначе переместить
            $Path = $OutPath0 & '\' & $typeFolder & '\' & $FileList[$i + 1]
            If FileExists($Path) Then
                If $tmptype Then
                    $Name = StringLeft($FileList[$i + 1], StringInStr($FileList[$i + 1], '.', 0, -1) - 1) ; получить имя файла без расширения
                    $tmptype = '.' & $tmptype
                Else
                    $Name = $FileList[$i + 1]
                EndIf
                ; цикл проверки одноимённых файлов
                $j = 0
                Do
                    $j += 1
                    If $j = 1 Then
                        $Path = $OutPath0 & '\' & $typeFolder & '\' & $Name & $Lng[22] & $tmptype
                    Else
                        $Path = $OutPath0 & '\' & $typeFolder & '\' & $Name & $Lng[23] & $j & ')' & $tmptype
                    EndIf
                Until Not FileExists($Path)
            EndIf
            If $checkAtrb0 = 1 Then FileSetAttrib($FileList[$i] & $FileList[$i + 1], "-RASHT")
            If FileMove($FileList[$i] & $FileList[$i + 1], $Path, 8) Then ; перемещаем если одноимённого не существует
                $move0 += 1
            Else
                $ign0 += 1
            EndIf
        Next
    EndIf
    GUICtrlSetData($StatusBar, $Lng[24] & $ArrSz / 2 & $Lng[20] & @CRLF & $Lng[25] & $move0 & $Lng[26] & $del0 & $Lng[27] & $ign0)
EndFunc   ;==>_Sort

Func _Dropped()
    Switch @GUI_DropId
        Case $inpPath
            GUICtrlSetData($inpPath, @GUI_DragFile)
            GUICtrlSetData($OutPath, StringRegExpReplace(@GUI_DragFile, "(^.*)\\(.*)$", '\1') & '\root')
        Case $OutPath
            GUICtrlSetData($OutPath, @GUI_DragFile)
    EndSwitch
EndFunc   ;==>_Dropped

Func _Exit()
    Exit
EndFunc   ;==>_Exit

Edited by AZJIO
Link to comment
Share on other sites

 AZJIO, YOU ARE THE GREATEST ;-)

Worked perfectly although i would like to chang some stuff. I was trying to look in the code making my changes but it looks all chinese to me :-(:

Is it possible to have soure and destination pad with a browse option, like explorer to tick and pick? 

Also to create a new destination folder in that browse window?

Main thing is that all files needed to be copied, not moved. And none of the file types need to be ignored nor removed.

I don't want to sound picky with the above.

I find it great that people like you are helping people with things way above their head.  I have my expierence with hard- and sotware-problems and also like to help people with theirs. Just want to point out how great it is to get some helping hands ;-)

Link to comment
Share on other sites

  • 3 weeks later...
  • Moderators

BjornBroeckx,

 

it looks all chinese to me

It is actually Russian. ;)

Anyway, have you made any attempt to "tweak" this code yourself? What have you done over the past month to try and understand the code? :huh:

Think of the old saying: "Give a man a fish, you feed him for a day; give a man a net and you feed him forever". We try to be net makers and repairers, not fishmongers. So please do expect us to do all the work - try and learn a bit of AutoIt so you understand the code and how you might change it. Reading the Help file (at least the first few sections - Using AutoIt, Tutorials and the first couple of References) will help you enormously. You should also look at this excellent tutorial - you will find other tutorials in the Wiki (the link is at the top of the page). :)

We are here to help you learn, but if all you want is code given to you on a plate then there are plenty of "coder-for-hire" sites out there. ;)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...