FileCopy()
- Last UpdatedSep 24, 2024
- 2 minute read
Copie un fichier source sous un fichier destination et retourne un état dans le résultat. Cette fonction peut prendre plus de temps et s'exécute en plusieurs étapes<:hs>:
-
La fonction FileCopy() est appelée et un résultat est immédiatement renvoyé, pour indiquer le succès ou l'échec de l'initialisation de l'opération.
-
La fonction FileCopy() exécute l'opération en arrière-plan, pendant que le script InTouch continue son exécution. Vous pouvez surveiller le progrès de l'opération avec une variable entière.
-
La fonction FileCopy() renvoie le résultat indiquant le succès ou l'échec de l'opération.
Si le dossier destination n'est pas disponible (sur un autre ordinateur du réseau, par exemple), la fonction utilise une temporisation de 10 secondes puis écrit un message dans le Logger.
Remarque : n’utilisez pas la fonction FileCopy() dans des QuickFonctions asynchrones.
Syntaxe
result = FileCopy (sourcefile, destfile, progresstag)
Paramètres
sourcefile
Chemin complet et nom du fichier à copier. Chaîne littérale, variable message ou expression chaîne. Vous pouvez utiliser les caractères génériques (* et ?) dans ce paramètre pour recopier uniquement les fichiers qui coïncident avec un critère spécifié. Le chemin peut être également en notation UNC.
destfile
Chemin complet et nom du fichier (ou seulement le chemin) de la destination. Chaîne littérale, variable message ou expression chaîne. Le chemin peut être également en notation UNC.
progresstag
Nom d'une variable entière entre doubles guillemets qui sera renseignée avec un indicateur du progrès de l'opération. Chaîne littérale, variable message (par exemple une variable message contenant la valeur «<:hs>IntTag.Name<:hs>») ou expression chaîne. Les valeurs ont la signification suivante<:hs>:
0 - procédure FileCopy() encore en cours.
1 - procédure FileCopy() terminée avec succès.
-1 - procédure FileCopy() terminée avec des erreurs.
Valeur retour
Une valeur -1, 0 ou 1 pour indiquer<:hs>:
1 - fonction FileCopy() appelée avec succès.
0 - erreur de l'appel à la fonction FileCopy(), une autre procédure FileCopy() est déjà en cours.
-1 - erreur de l'appel à la fonction FileCopy(), le fichier source est introuvable ou la destination est en lecture seule.
Exemple(s)
Ce script copie le fichier c:\MyData\output.log sous le répertoire d:\archive et renomme le fichier en output.txt. La progression de l'opération est reportée dans la variable entière Monitor.
Status=FileCopy("c:\MyData\output.log","d:\archive\output.txt","Monitor");
Ce script copie tous les fichiers avec extension.txt du répertoire racine c:\ vers le répertoire destination c:\Backup.
Status=FileCopy("c:\*.txt", "c:\Backup", "Monitor");
Ce script copie un fichier dont le chemin et le nom sont contenus dans la variable message LogFile, vers le répertoire destination c:\results\ et le renomme en logxxx.txt, où xxx est un horodatage.
Status=FileCopy(LogFile, "c:\results\log" + $DateString + $TimeString + ".txt", "Monitor");