enno-tyrant
hi,
ich habe ein kleines backup-programm geschrieben, daß mir jeden tag daten von einer festplatte auf eine andere kopiert. er legt jeweils einen ordner an der als 'namen' das *datum_des_kopiertages* erhält (sprich immer das jeweils aktuelle datum).
nun soll aber jeder ordner der älter als fünf tage ist gelöscht werden, also datum-5=löschen (sozusagen).
wie stelle ich das an?
daHooligan
evtl. könntest du ja die ordnernamen ein bissel anders zusammensetzen (datum_*tag des jahres*) und dann die nummer des aktuellen tages abgleichen und danach die entsprechenden ordner löschen.
oder du speicherst den tag des jahres nicht im dateinamen sondern ermittelst ihn direkt im programm..
sorry, bin kein C(++)-Programierer und kann mir nur den allgemeinen Algorithmus "erdenken"
enno-tyrant
is nich unbedingt die schlechteste idee, hatte mir auch schon gedacht ich benenne die ordner:
01_13.12.2004
02_14.12.2004
03_15.12.2004
04_16.12.2004
05_17.12.2004
06_18.12.2004
>an das prgramm: zerlege verzeichnisnamen von anfang bis '_' und dann bis ende.
>nimm ersten string (in diesem fall '06') rechne 6-5=1
>lösche 1_xx.xx.xxxx
währe ne möglichkeit, dachte aber es geht komfortabler, ich möchte mich als programmierer nicht dem rechner anpassen, sondern der rechner hat sich mir anzupassen
| Zitat: |
| sorry, bin kein C(++)-Programierer und kann mir nur den allgemeinen Algorithmus "erdenken" |
das ist manchmal viel wert
daHooligan
das problem ist halt, dass du dann irgendwann mal 10000_01.12.2010 hast wenn du nicht ne routinge einbaust, die dann entweder neu durchnummeriert oder das sonstwie regelt.
hmmm...
>dateiname einlesen und in variable schreiben.
>ermittle timestamp von tag-monat-jahr 00:00
>ermittle aktuellen Timestamp
>wenn aktueller_timestamp-timestamp_ordner < 432000 sekunden
>lösche ordner
so prinzipiell....... timestamp hab' ich verwendet, weil das im PHP rel. leicht zu verwenden ist. Ich weiß aber net, wie einfach man den in C(++) verwenden kann.
also im Prinzip wieder das von oben, ich weiß aber net, ob es da bei C(++) einen speziellen Befehl in der Form "lösche_ordner_älter(5tage)" oder so gibt.