FileMove (Funktion)
- Last UpdatedSep 26, 2024
- 2 minute read
Verschiebt eine Datei und gibt das Ergebnis des Vorgangs zurück. Diese Funktion eignet sich auch zum Umbenennen einer Datei. 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 Verschiebevorgang erfolgreich eingeleitet werden konnte.
-
Die Datei wird im Hintergrund verschoben. Währenddessen wird das aufrufende Skript fortgesetzt. Sie können den Verlauf des Verschiebevorgangs mit einer Integer-Variable überwachen.
-
Nach Abschluss des Vorgangs wird ein Ergebnis zurückgegeben, das angibt, ob die Datei erfolgreich verschoben wurde.
Verwenden Sie die Funktion FileMove() nicht in einer asynchronen QuickFunction.
Syntax
Ergebnis = FileMove (Quelldatei, Zieldatei, Verlaufsvariable)
Parameter
Quelldatei
Vollständiger Pfad und Name der Datei, die verschoben werden soll. Zeichenfolgenkonstante, Meldungsvariable oder Zeichenfolgenausdruck. Sie können die Platzhalterzeichen * und ? verwenden, um mehrere Dateien auf einmal zu verschieben. 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 Verschiebevorgangs 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 - Verschiebevorgang läuft
1 - Verschiebevorgang wurde erfolgreich abgeschlossen
-1 - Verschiebevorgang wurde mit Fehlern abgeschlossen
Rückgabewert
Ein Wert von -1, 0 oder 1, der Folgendes angibt:
1 - Vorgang wurde erfolgreich gestartet
0 - Vorgang konnte nicht gestartet werden, da bereits ein anderer Verschiebevorgang läuft
-1 - Vorgang konnte nicht gestartet werden. Eventuell existiert die Quelldatei nicht.
Beispiel(e)
Dieses Skript verschiebt die Datei c:\Daten\ausgabe.log in das Verzeichnis d:\Archiv und benennt die Datei in ausgabe.txt um. Der Fortschritt der Dateiverschiebung wird in die ganzzahlige Variable Monitor geschrieben.
Ergebnis=FileMove("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 verschoben.
Ergebnis=FileMove("C:\*.txt", "C:\Backup", "Status");
Die folgende Anweisung verschiebt 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=FileMove(LogDatei, "C:\Protokoll\log" + $DateString + $TimeString + ".txt", "Status");