Autoit3. Funcion para seleccionar el archivo mas actual de un directorio.
Autoit3, Scripts No hay Comentarios »
En ocasiones necesitamos que el programa nos devuelva el fichero mas actual de todos. En mi caso para seleccionar el ultimo backup de un sistema, descomprimirlo y ponerlo disponible.
La función que he utilizado es la siguiente:
-
Func _GetNewestFileName($sPath, $iMode=0) ;$iMode: 0 = Modificado, 1 = Creado, 2 = Accedido
-
Local $sNewestFile = ""
-
Local $sNextFile, $iNewsetFileSize, $iCurrentFileSize
-
Local $hSearch = FileFindFirstFile($sPath & "\" & $Mask)
-
If $hSearch = -1 Then Return SetError(1, 0, -1)
-
-
While 1
-
$sNextFile = FileFindNextFile($hSearch)
-
If @error Then ExitLoop
-
If StringInStr(FileGetAttrib($sPath & "\" & $sNextFile), "D") Then ContinueLoop
-
$iNewsetFileSize = FileGetTime($sPath & "\" & $sNewestFile, $iMode, 1)
-
$iCurrentFileSize = FileGetTime($sPath & "\" & $sNextFile, $iMode, 1)
-
If $sNewestFile = "" Or $iCurrentFileSize> $iNewsetFileSize Then $sNewestFile = $sNextFile
-
WEnd
-
-
FileClose($hSearch)
-
Return $sNewestFile
-
EndFunc
Para llamar a la función utilizo:
-
$Mask="HOSPSURG_*.*" ;la mascara que voy a utilizar
-
$NewsetFileName = _GetNewestFileName("\\vivaldi\Backup_HPS$\respaldo\", 0)
-
MsgBox(64, "Resultado", "Nombre de archivo mas actual: " & $NewsetFileName)
Aqui teneis un script que he utilizado para instalar java en los pcs de una red con dominio.
Comentarios Recientes