myspacee Posted May 19, 2008 Share Posted May 19, 2008 hello, i've a lan directory with a lot of .pdf here are store all .pdf that we use to convert in .jpg for our site. i must copy only most recent files but here i can found all versione of that file. To explain post dir list example : 18/05/2008 19.44 3.069.437 IA1POM_1778318711.pdf 18/05/2008 20.03 1.138.747 IA1POM_1781584631.pdf 18/05/2008 20.38 1.140.245 IA1POM_1784850551.pdf 18/05/2008 20.55 1.139.187 IA1POM_1788116471.pdf 18/05/2008 20.56 1.140.567 IA1POM_1791382391.pdf 18/05/2008 20.57 1.140.369 IA1POM_1794648311.pdf 18/05/2008 21.51 7.754.130 IA1POM_1797914231.pdf is there any way to copy most recent of them ? ( in my example IA1POM_1797914231.pdf) I don't know what second part of name is, but i can suppose is progressive number .... i prefer to take date & time... any idea ? m. Link to comment Share on other sites More sharing options...
ProgAndy Posted May 19, 2008 Share Posted May 19, 2008 Use _DateDiff The Date is: $date StringLeft($FileName,16) Take the pasrts and Make it Compatible with StringMid *GERMAN* [note: you are not allowed to remove author / modified info from my UDFs]My UDFs:[_SetImageBinaryToCtrl] [_TaskDialog] [AutoItObject] [Animated GIF (GDI+)] [ClipPut for Image] [FreeImage] [GDI32 UDFs] [GDIPlus Progressbar] [Hotkey-Selector] [Multiline Inputbox] [MySQL without ODBC] [RichEdit UDFs] [SpeechAPI Example] [WinHTTP]UDFs included in AutoIt: FTP_Ex (as FTPEx), _WinAPI_SetLayeredWindowAttributes Link to comment Share on other sites More sharing options...
zorphnog Posted May 19, 2008 Share Posted May 19, 2008 (edited) Global $sDir, $hSearch, $sFilename, $sNewestFilename, $sNewestDate $sDir = FileSelectFolder("Select directory", "") If StringRight($sDir, 1) <> "\" Then $sDir &= "\" $hSearch = FileFindFirstFile($sDir & "*.pdf") If $hSearch = -1 Then MsgBox(0, "Error", "No .pdf files were found.") Exit EndIf While 1 $sFilename = FileFindNextFile($hSearch) If @error Then ExitLoop $sTemp = FileGetTime($sDir & $sFilename, 0, 1) If $sTemp > $sNewestDate Then $sNewestDate = $sTemp $sNewestFilename = $sFilename EndIf WEnd MsgBox(0, "Newest file", $sDir & $sNewestFilename) Edited May 19, 2008 by zorphnog Link to comment Share on other sites More sharing options...
myspacee Posted May 19, 2008 Author Share Posted May 19, 2008 zorphnog your solution is perfect, thank you. m. Link to comment Share on other sites More sharing options...
myspacee Posted May 20, 2008 Author Share Posted May 20, 2008 Here again, sorry. Can't cicle this code in a do.while. i can't find error. Post simple code to demonstrate that it return always first occurance of requested files expandcollapse popupGlobal $sDir, $hSearch, $sFilename, $sNewestFilename, $sNewestDate ; FIRST step $sDir = FileSelectFolder("Select directory", "") If StringRight($sDir, 1) <> "\" Then $sDir &= "\" $hSearch = FileFindFirstFile($sDir & "CATS*.pdf") ;<------ search most recent file from list of CATS*.pdf If $hSearch = -1 Then MsgBox(0, "Error", "No .pdf files were found.") Exit EndIf While 1 $sFilename = FileFindNextFile($hSearch) If @error Then ExitLoop $sTemp = FileGetTime($sDir & $sFilename, 0, 1) If $sTemp > $sNewestDate Then $sNewestDate = $sTemp $sNewestFilename = $sFilename EndIf WEnd MsgBox(0, "Newest file", $sDir & $sNewestFilename) ; SECOND step $hSearch = FileFindFirstFile($sDir & "DOGS*.pdf") ;<------ search most recent file from list of DOGS*.pdf If $hSearch = -1 Then MsgBox(0, "Error", "No .pdf files were found.") Exit EndIf While 1 $sFilename = FileFindNextFile($hSearch) If @error Then ExitLoop $sTemp = FileGetTime($sDir & $sFilename, 0, 1) If $sTemp > $sNewestDate Then $sNewestDate = $sTemp $sNewestFilename = $sFilename EndIf WEnd MsgBox(0, "Newest file", $sDir & $sNewestFilename) can anyone help me to understand? m. Link to comment Share on other sites More sharing options...
myspacee Posted May 20, 2008 Author Share Posted May 20, 2008 solved must initialize $sNewestDate every cicle thank you m 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