Sign in to follow this  
Followers 0

how to delete a specific value from an array?

5 posts in this topic

I am using _FileListToArray to get a list of all folders in a directory (lets say C: drive)

I am then _ArrayDelete to trim the first value from the array to remove the folder count

I am then taking that list of folders and running the script, however before I start the loops I want to look in the array and delete specific folders such as "System" "$Recycle.bin" and a few other folders.

However the directory count changes, so the system folders and such will never be in the same place in the array. How do I delete by only knowing the name of the folder?

I have searched and come across _ArraySearch but I'm not sure the structure of the code that is needed to search the array for a list of specific folder names, then remove them from the array.

Share this post

Link to post
Share on other sites


Where is the code have you tried so far? :(


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:


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


Share this post

Link to post
Share on other sites

Im still a little scared baby when it comes to fiddling with arrays so always work around it :(

Maybe you dont need to delete them, just ignore them

Global $array[6] = ["Documents","System","Files","Recycle","Nothing","Something"]
For $n = 0 To UBound($array) -1
    If $array[$n] <> "System" And $array[$n] <> "Recycle" Then
        ConsoleWrite($array[$n] & @CRLF)

Im certain there are swankier ways though.

AutoIt Absolute Beginners    Require a serial    Pause Script    Video Tutorials by Morthawt   ipify 

Monkey's are, like, natures humans.

Share this post

Link to post
Share on other sites

here is a way to delete elements only by knowing there name :(

Global $array[6] = ["Documents","System","Files","Recycle","Nothing","Something"]
Global $folderstodeletefromarray[2] = ["System","Windows"]

For $n = 0 To UBound($folderstodeletefromarray) -1
    $iIndex = _ArraySearch($array, folderstodeletefromarray[$n], 0)
If @error Then
    MsgBox(0, "Not Found", '"' & folderstodeletefromarray[n] & '" in array of files ')
    ;here we will delete it from primary array
_ArrayDelete($array, $iIndex)


I hope it helps you

Share this post

Link to post
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
Sign in to follow this  
Followers 0