Datum von mehreren Files vergleichen

Alle Fragen zur Programmierung, die nicht in die speziellen Themen passen
Antworten
gambasso
Foriker
Beiträge: 1102
Registriert: Sa 17. Mär 2012, 09:55
Kontaktdaten:

Datum von mehreren Files vergleichen

Beitrag von gambasso » Fr 16. Okt 2020, 18:19

moin,

ich habe mehrere Verzeichnisse mit Daten. Ich möchte das Erstellungsdatum der einzelnen Verzeichnisse auslesen und im Array einlesen.
Dabei sollen die zuletzt erstellten Verzeichnisse oben liegen.

Dabei komme ich mit den Vergleichen des Datums der Verzeichnisse nicht klar.
Wie bekomme ich das hin?
Gruss

Benutzeravatar
PJBlack
Foriker
Beiträge: 46
Registriert: Sa 8. Dez 2018, 23:50
Kontaktdaten:

Re: Datum von mehreren Files vergleichen

Beitrag von PJBlack » Fr 16. Okt 2020, 20:02

ls -a -l -t | grep "^d"

-a alle Dateien (., ..)
-l Anzeige in langform zeilenweise
-t sortiert nach Datum absteigend

^d RegEX = beginnt mit d (für Directory)

gambasso
Foriker
Beiträge: 1102
Registriert: Sa 17. Mär 2012, 09:55
Kontaktdaten:

Re: Datum von mehreren Files vergleichen

Beitrag von gambasso » Sa 17. Okt 2020, 12:54

moin,

und wie mache ich das unter Gambas?
Gruss

Benutzeravatar
cogier
Foriker
Beiträge: 55
Registriert: Do 19. Jul 2018, 16:18
Wohnort: Guernsey, Channel Islands
Kontaktdaten:

Re: Datum von mehreren Files vergleichen

Beitrag von cogier » Sa 17. Okt 2020, 15:30

Dieser Code sollte für Sie funktionieren.
gambas code
GridViewFolders As GridView

Public Sub Form_Open()

  Dim sFolder As String = User.Home
  Dim sDir As String[] = RDir(sFolder, "", gb.Directory)
  Dim sResults As New String[]
  Dim iLoop As Integer

  BuildForm

  For iLoop = 0 To sDir.Max
    sResults.Add(Format(Stat(sFolder &/ sDir[iLoop]).LastModified, "yyyy/mm/dd hh:nn:ss") & "`" & sDir[iLoop])
  Next

  sResults.Sort(gb.Descent)

  For iLoop = 0 To sResults.Max
    Inc GridViewFolders.Rows.Count
    GridViewFolders[iLoop, 0].Text = Split(sResults[iLoop], "`")[0]
    GridViewFolders[iLoop, 1].Text = Split(sResults[iLoop], "`")[1]
  Next

  GridViewFolders.Columns.Width = -1

End

Public Sub BuildForm()

  With Me
    .Arrangement = Arrange.Vertical
    .Padding = 5
  End With

  With GridViewFolders = New GridView(Me) As "GridViewFolders"
    .Rows.Count = 0
    .Columns.Count = 2
    .Expand = True
  End With

End

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 8 Gäste