Sign in to follow this  
Followers 0
kor

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



kor,

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

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______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

 

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)
    EndIf
Next

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 ')
Else
    ;here we will delete it from primary array
_ArrayDelete($array, $iIndex)
EndIf

Next

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