Page 1 sur 1

[R] Récupérer la date et l’heure d’un fichier sur serveur FTP

Posté : lun. 16 avr. 2018 22:55
par Boulanza
Bonsoir,
Je cherche un script qui peut comparer la date et l’heure d’un fichier sur serveur FTP : http://www.xxx.com/Test1.exe avec celui installé sur mon pc C:\test2.exe.
Merci pour votre aide.
Cordialement.

Re: [..] Récupérer la date et l’heure d’un fichier sur serveur FTP

Posté : lun. 16 avr. 2018 23:02
par Tlem
_FTP_FileTimeLoHiToStr()

Voir ici (ça peux aider) : https://www.autoitscript.com/forum/topi ... nt-1115511

Re: [..] Récupérer la date et l’heure d’un fichier sur serveur FTP

Posté : mar. 17 avr. 2018 09:38
par Boulanza
Bonjour,
Merci Tlem...
Cordialement.

Re: [R] Récupérer la date et l’heure d’un fichier sur serveur FTP

Posté : mer. 18 avr. 2018 11:53
par Boulanza
Bonjour,
Votre aide svp pour trouver la cause de l'erreur suivante:
$aFiles[0][0] = $aFile[10]
$aFiles[0][0] = ^ ERROR
Merci d’avance.
Cordialement.
#include <FTPEx.au3>
#include <Array.au3>
$oFTP = _FTP_Open("myftp")
$oConnect = _FTP_Connect($oFTP, "www.xxxx.com", "identifiant", "mot de passe")
MsgBox(0, "Fichier:", $oConnect)

ConsoleWrite(_FTP_DirSetCurrent($oFTP, "/Test") & @CRLF)

Local $h_Handle
Local $aFile = _FTP_FindFileFirst($oConnect, "/Test1.exe", $h_Handle)
;=> et/ou
;Local $aFile = _FTP_FindFileFirst($oConnect, "/Test", $h_Handle)

Dim $aFiles[1][3]
$aFiles[0][0] = $aFile[10]
$aFiles[0][1] = _FTP_FileTimeLoHiToStr($aFile[6],$aFile[7])
$aFiles[0][2] = $aFile[7]
ConsoleWrite($aFiles[0][0] & " " & $aFiles[0][1] & @CRLF)

While True
 $aFile = _FTP_FindFileNext($h_Handle)
 If UBound($aFile)=1 Then ExitLoop
 ReDim $aFiles[UBound($aFiles)+1][3]
 $aFiles[UBound($aFiles)-1][0] = $aFile[10]
 $aFiles[UBound($aFiles)-1][1] = _FTP_FileTimeLoHiToStr($aFile[6],$aFile[7])
 $aFiles[UBound($aFiles)-1][2] = $aFile[7]
 ConsoleWrite($aFiles[UBound($aFiles)-1][0] & " " & $aFiles[UBound($aFiles)-1][1] & @CRLF)
WEnd

_ArraySort($aFiles,1,0,0,2)
ConsoleWrite("newest file=[" & $aFiles[0][0] & "] modified date=[" & $aFiles[0][1] & "]." & @CRLF)
; $current = $aFiles[0][0]
; looks like this will have the newest folder/file name.
_FTP_Close($oFTP)

Re: [..] Récupérer la date et l’heure d’un fichier sur serveur FTP

Posté : mer. 18 avr. 2018 12:56
par Tlem
D'après ce que vous indiquez, l'erreur correspond au fait que $aFile[10] n'est pas un tableau !
Du coup, l'élément N°10 de $aFile n'existe pas. ^^

Envoyé de mon SM-N9005 en utilisant Tapatalk


Re: [..] Récupérer la date et l’heure d’un fichier sur serveur FTP

Posté : mer. 18 avr. 2018 13:07
par Boulanza
Merci Tlem,
J'ai cherché par tout sur le net pour trouver une solution qui peut marcher pour mon cas, mais sans résultat. Avez vous une autre idée, merci.
Cordialement.

Re: [..] Récupérer la date et l’heure d’un fichier sur serveur FTP

Posté : mer. 18 avr. 2018 13:14
par Tlem
Enregistrez les Infos de version dans un fichier texte sur le FTP, il vous suffit par la suive de télécharger ce fichier texte et de comparer les versions de fichiers. ^^

Envoyé de mon SM-N9005 en utilisant Tapatalk


Re: [..] Récupérer la date et l’heure d’un fichier sur serveur FTP

Posté : mer. 18 avr. 2018 13:39
par Boulanza
Je pense qu'il y a bien d'autre façon de faire ?

Re: [..] Récupérer la date et l’heure d’un fichier sur serveur FTP

Posté : mer. 18 avr. 2018 14:02
par Tlem
Vous m'avez demandé si j'avais une idée et je vous l'ai donné. ^^
Après, si vous voulez faire autrement, c'est vous qui voyez.

Envoyé de mon SM-N9005 en utilisant Tapatalk


Re: [..] Récupérer la date et l’heure d’un fichier sur serveur FTP

Posté : mer. 18 avr. 2018 23:32
par Boulanza
Bonjour Tlem,
Le code: https://www.autoitscript.com/forum/topi ... nt-1115511
la date est correcte par contre l'heure n'est pas conforme à l'heure du fichier installé sur ftp:
_FTP_FileTimeLoHiToStr($aFile[6],$aFile[7],1)
;[6] - Last Write Low
;[7] - Last Write Hi
Cordialement.

Re: [..] Récupérer la date et l’heure d’un fichier sur serveur FTP

Posté : mer. 18 avr. 2018 23:58
par walkson
https://www.autoitscript.com/forum/topi
Sorry, there is a problem
The page you requested does not exist

:mrgreen:

https://www.autoitscript.com/forum/topi ... nt-1115511
la date est correcte par contre l'heure n'est pas conforme à l'heure du fichier installé sur ftp
l'écart est de combien ?
Nous n'avons pas la même heure que la GB, est ce là le problème ?...

Re: [..] Récupérer la date et l’heure d’un fichier sur serveur FTP

Posté : jeu. 19 avr. 2018 00:42
par Tlem
Je n'en suis pas sur, mais il y a peut être effectivement un truc lié au fuseau horaire ou à la gestion de l'heure d'été et de l'heure d'hivers.
Il faut voir si c'est +/- 1h ou 2h. ^^

Re: [..] Récupérer la date et l’heure d’un fichier sur serveur FTP

Posté : jeu. 19 avr. 2018 04:30
par jchd
Zulu time ???

Re: [..] Récupérer la date et l’heure d’un fichier sur serveur FTP

Posté : jeu. 19 avr. 2018 08:48
par Tlem
Merci JC, je ne savais pas que c'était le petit nom pour l'heure UTC. ^^
Nous verrons bien ce que boulanza répondra...

Envoyé de mon SM-N9005 en utilisant Tapatalk


Re: [..] Récupérer la date et l’heure d’un fichier sur serveur FTP

Posté : jeu. 19 avr. 2018 09:53
par Boulanza
Voici la réponse d'un ami:
Bonjour,
Le serveur utilise le système UTC.
J'ai testé avec un fichier que j'ai copié sur le serveur à 06:04, le
script m'a renvoyé 04:04. Le résultat est bon en ajoutant +2h00
correspond à l'heure d'été pour la France.
Pour les secondes cela ne sera jamais juste.
Contrôlez avec Filezilla qui lui vous renvoie l'heure avec le décalage
du fuseau horaire...
Cordialement.

Re: [..] Récupérer la date et l’heure d’un fichier sur serveur FTP

Posté : jeu. 19 avr. 2018 13:26
par jchd
Zulu, GMT, ou UT1 sont des équivalents mais ce n'est pas UTC. Les premiers utilisent un nombre fixe de secondes et une fraction nulle par jour (86400 s exactement) tandis que le dernier peut comporter parfois un nombre entier supérieur ou (éventuellement un jour) inférieur.
https://fr.wikipedia.org/wiki/DUT1
https://fr.wikipedia.org/wiki/Seconde_intercalaire

Il faudrait vérifier mais je pense que le temps de marquage des fichiers est plutôt basé sur UT1 et non pas UTC. Il suffit d'essayer de changer la date de modification (par exemple) d'un fichier à un jour de juin ou décembre d'une année passée où une "leap second" a été ajoutée et voir si on peut y stocker 23:59:60 de façon stable. Si oui, c'est bien UTC si erreur ou instable, c'est UT1. La dernière seconde intercalaire est 2016-12-31 23:59:60 UTC.

Il est en effet paradoxal que dans la plupart des pays le temps légal soit basé sur UTC mais qu'aucun appareil ou si peu supportent un nombre de secondes égal à 60.

Quelques échelles de temps : https://fr.wikipedia.org/wiki/Temps_universel

Re: [..] Récupérer la date et l’heure d’un fichier sur serveur FTP

Posté : jeu. 19 avr. 2018 13:46
par Tlem
Ha !
J'étais tombé sur ça : https://www.timeanddate.com/time/zones/z

Du coup j'avais cru comprendre que c'était la zone UTC...

Envoyé de mon SM-N9005 en utilisant Tapatalk



Re: [R] Récupérer la date et l’heure d’un fichier sur serveur FTP

Posté : sam. 21 avr. 2018 22:24
par Boulanza
C'est ok pour tout le monde. Je ferme cette page.