Hyflex Posted October 16, 2014 Share Posted October 16, 2014 (edited) Hey Guys,I've been looking around and can't find anything close to this other than knowing I'd need to use _FileListToArray and FileGetTime.I want to search the folder: C:/Folder/ Look inside ALL subfolders which which will be Year - Month (Example: 2014 - August or 2014 - September)Look inside all subfolders but IGNORE the folder: "Other" (These folders will be First, Second, Third and Other but the folder(s) may or may not exist)Search in the folders First, Second, Third BUT IGNORE Other, Find and retrieve the latest filename of a .csv file that has been put into any of those three folders, once found it also needs to retreive the filename of the latest .csv from the Full folder.So if it searches the folders and finds the latest file is in:C:/Folder/2014 - August/Second/example.csv (Modified/Created 16/10/2014 @ 01:59)Then it needs to go into the Full folder that accompanies it and find the latest file in that folder:C:/Folder/2014 - August/Second//Full/mynewexample.csv (Modified/Created 16/10/2014 @ 02:00) <-- Even though the modified time is the latest it should find latest file(s) based on the folder above... It would return two variables: $var1 = example.csv and $var2 = mynewexample.csv Folder Structure:C:/Folder/ |--------- C:/Folder/2014 - August/ | |--------- C:/Folder/2014 - August/Other/ (Ignore This Folder) | | |--------- C:/Folder/2014 - August/Other/Full/ (As a child of above, ignore this folder too) | |--------- C:/Folder/2014 - August/First/ | | |--------- C:/Folder/2014 - August/First/Full/ | |--------- C:/Folder/2014 - August/Second/ | | |--------- C:/Folder/2014 - August/Second/Full/ | |--------- C:/Folder/2014 - August/Third/ | | |--------- C:/Folder/2014 - August/Third/Full/ |-------- C:/Folder/2014 - September/ |--------- C:/Folder/2014 - September/Other/ (Ignore This Folder) | |--------- C:/Folder/2014 - September/Other/Full/ (As a child of above, ignore this folder too) |--------- C:/Folder/2014 - September/First/ | |--------- C:/Folder/2014 - September/First/Full/ |--------- C:/Folder/2014 - September/Second/ | |--------- C:/Folder/2014 - September/Second/Full/ |--------- C:/Folder/2014 - September/Third/ |--------- C:/Folder/2014 - September/Third/Full/Could someone help me with this, I've spent the last 2 hours trying to find something close to what I want on the forum/google and come up with nothing :S Edited October 16, 2014 by Hyflex Link to comment Share on other sites More sharing options...
JohnOne Posted October 16, 2014 Share Posted October 16, 2014 For a start you'll want to look at... _FileListToArrayRec 232showtime 1 AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans. Link to comment Share on other sites More sharing options...
guinness Posted October 16, 2014 Share Posted October 16, 2014 I am sure if you searched site: autoitscript.com search files newest you would find a plethora of posts. You're not the first one to ask this. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
Hyflex Posted October 16, 2014 Author Share Posted October 16, 2014 For a start you'll want to look at..._FileListToArrayRecAhh, that one helps a lot! I've ran into a problem already though, I'm struggling to exclude certain folders... $aArray = _FileListToArrayRec("C:\Folder", "*||Other|Other2", $FLTAR_FILES , $FLTAR_RECUR, $FLTAR_SORT, $FLTAR_FULLPATH) $fTime = 0 For $i = 0 To UBound($aArray) - 1 If StringLeft(FileGetTime($aArray[$i], 0, 1), 8) > $fTime Then $fTime = StringLeft(FileGetTime($aArray[$i], 0, 1), 8) $fName = $aArray[$i] EndIf Next ConsoleWrite( $ftime & " " & $fname & @CRLF)I've tried *||Other|Other2 and *||Other||Other2 but I can't get it to exclude both "Other" and "Other2" Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted October 16, 2014 Moderators Share Posted October 16, 2014 Hyflex,From the Help file: Multiple filters must be separated by ";"So try: _FileListToArrayRec("C:\Folder", "*||Other;Other2", .....)M23 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 columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
Hyflex Posted October 16, 2014 Author Share Posted October 16, 2014 Hyflex,From the Help file: Multiple filters must be separated by ";"So try: _FileListToArrayRec("C:\Folder", "*||Other;Other2", .....)M23My bad, I didn't/couldn't see that anywhere:I did fix it a hacky way:$aArray = _FileListToArrayRec("C:\Folder", "*||Other", $FLTAR_FILES , $FLTAR_RECUR, $FLTAR_SORT, $FLTAR_FULLPATH) $fTime = 0 For $i = 0 To UBound($aArray) - 1 If StringLeft(FileGetTime($aArray[$i], 0, 1), 8) > $fTime Then If Not StringInStr($aArray[$i], "\Other2\") Then $fTime = StringLeft(FileGetTime($aArray[$i], 0, 1), 8) $fName = $aArray[$i] EndIf EndIf Next Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now