ouvrir le fichier le plus récent

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
yohanb767
Niveau 5
Niveau 5
Messages : 115
Enregistré le : mer. 28 déc. 2016 14:09
Status : Hors ligne

ouvrir le fichier le plus récent

#1

Message par yohanb767 » mar. 11 juin 2019 20:27

Bonjour à tous

j'aurai besoin de conseil ou du moins une piste pour ce que j'aimerai inclure dans un de mes script

j'aimerai dans une liste de fichier excel récupérer le fichier le plus récent sachant qu'il ne sera pas forcement à la date du jour

merci d'avance pour votre aide

Avatar du membre
mikell
Modérateur
Modérateur
Messages : 5866
Enregistré le : dim. 29 mai 2011 16:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: ouvrir le fichier le plus récent

#2

Message par mikell » mar. 11 juin 2019 20:39

FileListToArray + boucle avec FileGetTime (param format = 1) et comparaison ?
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )

yohanb767
Niveau 5
Niveau 5
Messages : 115
Enregistré le : mer. 28 déc. 2016 14:09
Status : Hors ligne

Re: ouvrir le fichier le plus récent

#3

Message par yohanb767 » mar. 11 juin 2019 20:47

merci mikell

je dois comparais tous les fichiers c'est ça?

Avatar du membre
mikell
Modérateur
Modérateur
Messages : 5866
Enregistré le : dim. 29 mai 2011 16:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: ouvrir le fichier le plus récent

#4

Message par mikell » mar. 11 juin 2019 20:52

Ben oui
Le format YYYYMMDDHHMMSS permet dans la boucle de comparer avec la date du fichier précédent
Attention il vaut mieux utiliser Number("YYYYMMDDHHMMSS") parce que c'est une string qui est retournée
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )

yohanb767
Niveau 5
Niveau 5
Messages : 115
Enregistré le : mer. 28 déc. 2016 14:09
Status : Hors ligne

Re: ouvrir le fichier le plus récent

#5

Message par yohanb767 » mar. 11 juin 2019 20:55

merci mikell , je vais chercher comment faire tout ce que tu m'a dis ! pas sur que j'y arrive car je n'ai jamais fais ça et je suis encore débutant mais ca me donne une piste

Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11422
Enregistré le : ven. 20 juil. 2007 20:00
Localisation : Bordeaux
Status : Hors ligne

Re: ouvrir le fichier le plus récent

#6

Message par Tlem » mar. 11 juin 2019 22:34

Bonsoir.
Une autre solution basée sur l'exemple de la commande StdoutRead() en utilisant la commande DIR et quelques commutateurs.

Code : Tout sélectionner

#include <AutoItConstants.au3>
#include <MsgBoxConstants.au3>


$sFilePath = "D:\Fichiers" ; <= Chemin de la recherche.
$sFilter = "*.xls" ; <= Masque de recherche

$sFilePath = StringRegExpReplace($sFilePath, "[\\/]+\z", "") & "\"

; Pour inverser le tri et donc obtenir le fichier le plus vieux remplacer le paramètre /OD par /O-D
; Pour faire de la recherche récursive dans les sous dossiers, rajouter le paramètre /S
$iPID = Run(@ComSpec & ' /C DIR "' & $sFilePath & $sFilter & '" /B /OD /A-D', $sFilePath, @SW_HIDE, $STDOUT_CHILD) ; Tri Croissant
ProcessWaitClose($iPID)

$sOutput = StdoutRead($iPID)
$aArray = StringSplit(StringTrimRight(StringStripCR($sOutput), 1), @CRLF)

If @error Then
	MsgBox($MB_ICONERROR + $MB_SYSTEMMODAL, "", "Pas de fichier.")
Else
	MsgBox($MB_SYSTEMMODAL, "Fichier le plus récent :", $aArray[$aArray[0]])
EndIf
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".

yohanb767
Niveau 5
Niveau 5
Messages : 115
Enregistré le : mer. 28 déc. 2016 14:09
Status : Hors ligne

Re: ouvrir le fichier le plus récent  

#7

Message par yohanb767 » mer. 12 juin 2019 08:24

Merci thierry !

je garde ton exemple et l'adapte à mon script de suite , la fonction StdoutRead est parfaite

merci encore
Bonne journée à toi

Répondre