FileCopy (Funktion)
- Last UpdatedSep 26, 2024
- 2 minute read
Kopiert eine Datei und gibt das Ergebnis des Kopiervorgangs zurück. Da dieser Vorgang einige Zeit dauern kann, wird er in mehreren Stufen ausgeführt:
-
Direkt nach dem Aufruf der Funktion wird ein Ergebnis zurückgegeben, das angibt, ob der Kopiervorgang erfolgreich eingeleitet werden konnte.
-
Der Kopiervorgang wird im Hintergrund ausgeführt. Währenddessen wird das aufrufende InTouch-Skript fortgesetzt. Sie können den Verlauf des Kopiervorgangs nun mit einer Integer-Variable überwachen.
-
Nach Abschluss des Kopiervorgangs wird ein Ergebnis zurückgegeben, das angibt, ob die Kopie erfolgreich erstellt wurde.
Falls der Zielordner nicht sofort verfügbar ist (z. B. beim Kopieren auf einen anderen Rechner im Netzwerk), wartet die Funktion maximal 10 Sekunden. Anschließend wird der Vorgang abgebrochen, und eine entsprechende Fehlermeldung wird im Log Viewer protokolliert.
Hinweis: Verwenden Sie die Funktion FileCopy() nicht in einer asynchronen QuickFunction.
Syntax
Ergebnis = FileCopy (Quelldatei, Zieldatei, Verlaufsvariable)
Parameter
Quelldatei
Vollständiger Pfad und Name der Datei, die kopiert werden soll. Zeichenfolgenkonstante, Meldungsvariable oder Zeichenfolgenausdruck. Sie können die Platzhalterzeichen * und ? verwenden, um mehrere Dateien auf einmal zu kopieren. UNC-Pfade werden ebenfalls unterstützt.
Zieldatei
Name der Zieldatei mit vollständigem Pfad oder nur der Name des Zielordners. Zeichenfolgenkonstante, Meldungsvariable oder Zeichenfolgenausdruck. UNC-Pfade werden ebenfalls unterstützt.
Verlaufsvariable
Der Name der Integer-Variable, in die der Status des Kopiervorgangs geschrieben werden soll. Sie müssen den Namen der Variablen als Zeichenfolgenwert angeben. Wenn Sie beispielsweise die Variable IVar verwenden möchten, müssen Sie an die Stelle dieses Parameters entweder den Zeichenfolgenwert "IVar" oder den Punktfeldverweis IVar.Name setzen. Zeichenfolgenkonstante, Meldungsvariable oder Zeichenfolgenausdruck. Die Statuswerte haben folgende Bedeutung:
0 - Kopiervorgang läuft
1 - Kopiervorgang wurde erfolgreich abgeschlossen
-1 - Kopiervorgang wurde mit Fehlern abgeschlossen
Rückgabewert
Einer der folgenden Statuswerte:
1 - Vorgang wurde erfolgreich gestartet
0 - Vorgang konnte nicht gestartet werden, da bereits ein anderer Kopiervorgang läuft
-1 - Vorgang konnte nicht gestartet werden, da entweder die Quelldatei nicht existiert oder kein Schreibzugriff auf den Zielort möglich ist
Beispiel(e)
Dieses Skript kopiert die Datei c:\Daten\ausgabe.log in das Verzeichnis d:\Archiv und benennt die Datei in ausgabe.txt um. Der Fortschritt der Dateikopie wird in die ganzzahlige Variable Monitor geschrieben.
Ergebnis=FileCopy("C:\Daten\ausgabe.log", "D:\Archiv\ausgabe.txt", "Status");
Mit dieser Anweisung werden alle .txt-Dateien aus dem Stammordner C:\ in den Ordner C:\Backup kopiert.
Ergebnis=FileCopy("C:\*.txt", "C:\Backup", "Status");
Die folgende Anweisung kopiert die Datei, deren Pfad und Name in der Meldungsvariablen "LogDatei" enthalten sind, in das Verzeichnis "C:\Protokoll" und benennt sie dabei in logxxx.txt um, wobei xxx ein Zeitstempel ist.
Ergebnis=FileCopy(LogDatei, "C:\Protokoll\log" + $DateString + $TimeString + ".txt", "Status");