Functions > FileDirDisk >


FileMove

Déplace un ou plusieurs fichiers.

FileMove ( "source", "dest" [, flag = 0] )

Paramètres

source Chemin et noms des fichiers sources à déplacer. (Les Wildcards sont pris en charge - Voir Remarques)
dest Répertoire et noms des fichiers à déplacer. (Les Wildcards sont pris en charge - Voir Remarques)
flag [optionnel] Détermine s'il faut écraser les fichiers existants.
Doit être une combinaison des éléments suivants:
    $FC_NOOVERWRITE (0) = (par défaut) n'écrase pas les fichiers existants
    $FC_OVERWRITE (1) = écrase les fichiers existants
    $FC_CREATEPATH (8) = Crée la structure du répertoire de destination, si elle n'existe pas (Voir Remarques).

Les constantes sont définies dans FileConstants.au3

Valeur de retour

Succès: Retourne 1.
Échec: Retourne 0 si source ne peut pas être déplacée ou si dest existe déjà et flag=0.

Remarques

Consultez FileFindFirstFile() pour des précisions sur les wildcards (caractères spéciaux).

Si la source et les chemins de destination sont sur des volumes différents une copie puis une suppression est effectuée au lieu d'un déplacement.

Parce que AutoIt ne possède pas de fonction "FileRename", utiliser FileMove() pour renommer un fichier!

Le répertoire de destination doit exister, sauf si le paramètre $FC_CREATEPATH (8) est utilisé.
Par exemple le paramètre combiné $FC_OVERWRITE (1) + $FC_CREATEPATH (8), écrase le fichier cible et vérifie la structure du répertoire de destination, et si elle n'existe pas, il la crée automatiquement.

Certains attributs de fichier peuvent rendre l'écrasement impossible, si c'est le cas consultez FileSetAttrib() pour changer les attributs d'un fichier.

En relation

DirMove, FileCopy, FileDelete, FileRecycle

Exemples

Exemple 1

#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>

Example()

Func Example()
    ; Crée une constante locale avec le chemin du fichier qui sera lu/écrit.
    Local Const $sFilePath = _WinAPI_GetTempFileName(@TempDir)

    ; Crée un fichier temporaire qui sera déplacé.
    If Not FileWrite($sFilePath, "Exemple d'utilisation de FileMove.") Then
        MsgBox($MB_SYSTEMMODAL, "", "Une erreur est survenue lors de l'écriture dans le fichier temporaire.")
        Return False
    EndIf

    ; Déplace les fichiers Au3 du répertoire temporaire vers un nouveau dossier/répertoire appelé Au3Files.
    FileMove(@TempDir & "\*.au3", @TempDir & "\Au3Files\", $FC_OVERWRITE + $FC_CREATEPATH)

    ; Affiche le répertoire temporaire.
    ShellExecute(@TempDir)
EndFunc   ;==>Example


Exemple 2

#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>

Example()

Func Example()
    ; Crée une constante locale avec des chemins de fichiers qui seront renommés.
    Local Const $sSource = _WinAPI_GetTempFileName(@TempDir), _
            $sDestination = _WinAPI_GetTempFileName(@TempDir)"

    ; Crée un fichier temporaire qui sera renommé.
    If Not FileCreate($sSource, "Exemple d'utilisation de FileMove.") Then
        MsgBox($MB_SYSTEMMODAL, "", "Une erreur est survenue lors de l'écriture dans le fichier temporaire.")
        Return False
    EndIf

    ; Renomme un fichier en utilisant FileMove et remplace le nouveau fichier s'il existe.
    FileMove($sSource, $sDestination, $FC_OVERWRITE)

    ; Affiche les résultats pour montrer que le fichier de destination a été renommé.
    MsgBox($MB_SYSTEMMODAL, "", "FileMove.txt existe-t-il ?: " & FileExists($sSource) & @CRLF & _ ; FileExists doit retourner 0.
            "FileMove_New.txt existe-t-il ?: " & FileExists($sDestination) & @CRLF) ;FileExists doit retourner 1.

    ; Supprime les fichiers temporaires. FileDelete vérifie si le fichier existe.
    FileDelete($sSource)
    FileDelete($sDestination)
EndFunc   ;==>Example