2016-06-20 6 views
0
@{files}= List Files In Directory  Z:\\ *base*.zip 


    ${lastModifiedFile} = Get From List ${files} 0 
    log to console  Z://${lastModifiedFile} 

    @{time1} = OperatingSystem.Get Modified Time  Z://${lastModifiedFile} 


     :FOR ${file} IN @{files} 
\  @{time1} = OperatingSystem.Get Modified Time  Z://${lastModifiedFile} 
\  @{time} = Get Modified Time ${file} 
\  Run Keyword If ${time1} < ${time} 
\  ...  ${lastModifiedFile} ${file} 
\  ... ELSE log to console ${file} 

Ich habe diesen Code geschrieben, um die neueste Datei aus dem Verzeichnis zu bekommen. Es funktioniert nicht!!neuesten Dateinamen aus dem Verzeichnis ROBOT Testfall

+1

was meinst du, es funktioniert nicht? Erhalten Sie Fehler? Was passiert eigentlich? – shicky

+0

Dies ist eine Frage-Antwort-Website. Wo ist die Frage? Das Problem, das Sie haben, ist, dass Sie Strings vergleichen, nicht Zeiten. Eine einfache Lösung besteht darin, Get Modified Time die Uhrzeit in Epoch Times (Integer) zurückzugeben. Die größte Zahl wird die zuletzt geänderte Nummer sein. – ombre42

Antwort

0
@{files}= List Files In Directory  Z:\\ *base*.zip 

${lastModifiedFile} = Get From List ${files} 0 
${time1} = OperatingSystem.Get Modified Time  Z://${lastModifiedFile} epoch 

:FOR ${file} IN @{files} 
\ ${time} Get Modified Time ${file} epoch 
\ ${lastModifiedFile} Set Variable If ${time1} < ${time} ${file} ${lastModifiedfile} 
\ ${time1} Set Variable If ${time1} < ${time} ${time} ${time1} 
+0

fügen Sie eine Beschreibung hinzu. – piyushj

+0

Holen Sie alle Dateien in Z: \\ mit Muster * Basis * .zip. Holen Sie den ersten Dateinamen und sein Änderungsdatum als Anfangsdatum ein. dann gehen Sie einfach durch die Liste, um die modifizierte Zeit zu bekommen und wenn es später ist als die aktuelle 'neueste', dann wird es die 'neueste' sein. – becixb