Jump to content
  • 0

Hoe automatisch back up met datum als naam maken?


Daan.

Question

Is er iemand in de zaal die weet hoe ik een scriptje kan maken

zodat er een back-up gemaakt word van het hele filemaker bestand.

De naam van dat bestand moet dan zijn: datum+tijd.fp7

 

Ik ben zover dat hij bij het opstarten een backup maakt met het commando:

Save a Copy as[ "bestandsnaam.fp7" ;copy] in het opstart script.

Het probleem is alleen dat dit steeds de oude backup overschrijft.

Ik zou dus graag de datum en tijd aan het bestandsnaam toevoegen.

Gewoon // in bestandsnaam zetten werkt niet.

Het moet helaas ook op een windows werken, anders had ik er applescript voor kunnen gebruiken.

 

Iemand een idee, of het al voor elkaar gekregen.

Link to comment

5 answers to this question

Recommended Posts

  • 0

Ik doe dit met behulp van de Troi File plug-in. In FM8 is deze niet nodig. Als je de Troi File plug-in hebt, of deze wilt kopen, maak dan twee globale tekstvelden: 'gExportBestand' en 'gFileResult'.

 

Zet dan de volgende scriptstappen in je script:

 

Set Field [ DatabaseName::gExportBestand; Substitute ( Get ( CurrentTimeStamp ) ; [ ":" ; "_" ] ; [" " ; "_" ] ; [ "-" ; "_" ] ) ] (of hoe je de datum+tijd wilt weergeven)

Export Records [ File Name: "file:../Documents/qrstuvwxyz.fp7"; Character Set: "Unicode (UTF-16)"; Field Order: Whatever ] [ No dialog ]

Set Field [ DatabaseName::gFileResult; TrFile_CopyFile ( "" ; "qrstuvwxyz.fp7" ; DatabaseName::gExportBestand ) ]

Set Field [ DatabaseName::gFileResult; TrFile_DeleteFile ( "" ; "qrstuvwxyz.fp7" ) ]

 

Lees de manual van Troi File plug-in en experimenteer met de syntax van de FileSpecs (deze zijn verschillend voor Mac en Windows) voor een correct resultaat.

De cursief weergegeven tekst in de scriptstappen moet je uiteraard vervangen door je eigen tekst.

 

Succes

Link to comment
  • 0

Ik heb dat in een script zo opgelost:

 

Eerst een kopie opslaan. Omdat die naam niet 'interactief' te bepalen valt, krijgt het bestand altijd dezelfde naam.

 

Save a Copy as ["BestandCopy.fp7";copy]

 

Dan hernoemen we die kopie met behulp van een DOS commando (dat ik met Send Event direkt aan het OS stuur), waarbij, gebruik makend van het feit we in Send Event wel 'interactief' een veranderlijke naam kunnen meegeven, calc_backup_date een berekend veld is dat de huidige datum en tijd in het volgende formaat uitspuugt: 6_3_2006_16_10_23, op deze manier:

 

Day (Get (CurrentDate)) & "_" &
Month (Get (CurrentDate)) & "_" &
Year (Get (CurrentDate) & "_" &
Hour (Get (CurrentTime) & "_" &
Minute (Get (CurrentTime) & "_" &
Seconds (Get (CurrentTime)

 

 

Het scriptbevel:

 

Send Event ["aevt"; "odoc"; "CMD /c ren BestandCopy.fp7 Bestand_Backup_" & calc_backupdate & ".fp7"]

 

Zodat het hele bestand nu heet:

 

Bestand_Backup_6_3_2006_13_10_23.fp7

 

 

Dat is het eigenlijk, maar omdat ik het geheel een beetje overzichtelijk wilde houden en bovendien van DOS-commando's houd :D heb ik nog vijf subdirectories gemaakt die 'Monday', 'Tuesday', 'Wednesday', 'Thursday' en, je raadde het, 'Friday' heten, om daar de gebackupte bestanden in te bewaren. Die krijg ik daarin door ze via Send Event te verplaatsen.

 

Send Event ["aevt"; "odoc"; "CMD /c move BestandBackup*.* "& DayName (Get (CurrentDate))]

 

Beetje voorzichtig daarmee: ongelukkigen die in het weekend moeten werken, moeten nog mappen voor Zaterdag en Zondag toevoegen en zij die op een niet-Engelstalig OS werken moeten de mappen namen in de taal van dat OS geven.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...