Déplacement des 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 MoveFileEx, MoveFileWithProgressou MoveFileTransacted fonction. La fonction MoveFileWithProgress a les mêmes fonctionnalités 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 transactionnelle.
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]);
}