Compartir a través de


Mover directorios

Para mover un directorio a otra ubicación, junto con los archivos y subdirectorios contenidos en él, llame a la función MoveFileEx, MoveFileWithProgress o MoveFileTransacted . La función MoveFileWithProgress tiene la misma funcionalidad que MoveFileEx, salvo que MoveFileWithProgress permite especificar una rutina de devolución de llamada que recibe notificaciones sobre el progreso de la operación. La función MoveFileTransact le permite realizar la operación como una operación de transacción.

En el ejemplo siguiente se muestra el uso de la función MoveFileEx con un directorio.

#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]);
}