Ich muss in einem älteren Programm Anpassungen machen, die es erforderlich machen, eine ganze Reihe von .DBF's und .DBT's wegzukopieren. Jetzt habe ich ein sehr witziges Problem mit dem FILECOPY() der Tools (beim Befehl COPY FILE ist es erstaunlicherweise das gleiche Verhalten).
Ich sammle die DBF's und DBT's in einem Array und arbeite das in einer Schleife ab ...
Code: Alles auswählen
FOR nI := 01 TO LEN(Array)
FILECOPY(cAlterPfad+Array[nI],cNeuerPfad+Array[nI]) // Backup-Modus spielt keine Rolle
NEXT
Und jetzt kommts:
Wenn ich in einem kleinen Testprogramm FILECOPY() mit "Direkteinträgen" nutze
Code: Alles auswählen
FILECOPY("C:\FAKT\DATEI.DBF" , "D:\PROJEKTE\CLIPPER\BACKUP\20140807\DATEI.DBF")
Wie schon gesagt, als Variablen funktioniert der FILECOPY() bei den wenigen Dateien nicht.
Ich achte darauf
- das keine Leerzeichen in den Variablen enthalten sind
- das die Einstellungen CSETSAFETY() und SETFCREATE() richtig gesetzt sind
- zur Sicherheit benutze ich nach jeden Kopiervorgang FILECCLOSE()
- das die Verzeichnistiefe nicht überschritten wird
- die Dateinamen nicht zu lang sind
Es sind immer die gleichen DBF's, die er NICHT kopiert, aber wie gesagt, wenn ich alles in Anführungszeichen im Testprogramm nutze, dann tut es. Ich habe schon die Struktur einer dieser DBF in eine andere Datei kopiert, einen APPEND von der anderen DBF gemacht. Das Original gelöscht und den Clone umbenannt. Gleiches Phänomen.
Ich habe eigentlich keine Lust mit der APPEND FROM oder COPY TO Freckelei anzufangen, da der FILECOPY() ja eigentlich superschnell arbeitet.
Hat einer von Euch schon einmal das gleiche Phänomen gehabt? Ist das jetzt ein UFO-Phänomen?
Mein Problem ist halt, dass ich mich jetzt fest gebissen habe und eigentlich nicht aufgeben will!