Déplacement de répertoires
Pour déplacer un répertoire vers un autre emplacement, ainsi que les fichiers et sous-répertoires contenus dans celui-ci, appelez la fonction MoveFileEx, MoveFileWithProgress ou MoveFileTransacted. La fonction MoveFileWithProgress a la même fonctionnalité que MoveFileEx, sauf que MoveFileWithProgress vous permet de spécifier une routine de rappel qui reçoit des notifications sur la progression de l’opération. La fonction MoveFileTransacted vous permet d’effectuer l’opération en tant qu’opération transactionnée.
L’exemple suivant illustre l’utilisation de la fonction MoveFileEx avec un répertoire.
#include <windows.h>
#include <tchar.h>
#include <stdio.h>
int __cdecl _tmain(int argc, TCHAR *argv[])
{
printf("\n");
if( argc != 3 )
{
printf("ERROR: Incorrect number of arguments\n\n");
printf("Description:\n");
printf(" Moves a directory and its contents\n\n");
printf("Usage:\n");
_tprintf(TEXT(" %s [source_dir] [target_dir]\n\n"), argv[0]);
printf(" The target directory cannot exist already.\n\n");
return;
}
// Move the source directory to the target directory location.
// The target directory must be on the same drive as the source.
// The target directory cannot already exist.
if (!MoveFileEx(argv[1], argv[2], MOVEFILE_WRITE_THROUGH))
{
printf ("MoveFileEx failed with error %d\n", GetLastError());
return;
}
else _tprintf(TEXT("%s has been moved to %s\n"), argv[1], argv[2]);
}