Condividi tramite


Spostare le directory

Per spostare una directory in un'altra posizione, insieme ai file e alle sottodirectory contenute, chiamare la funzioneMoveFileEx, MoveFileWithProgresso funzione MoveFileTransacted. La funzioneMoveFileWithProgressha le stesse funzionalità di MoveFileEx, ad eccezione del fatto che MoveFileWithProgress consente di specificare una routine di callback che riceve notifiche sullo stato dell'operazione. La funzione MoveFileTransacted consente di eseguire l'operazione come un'operazione transazionale.

Nell'esempio seguente viene illustrato l'uso della funzioneMoveFileExcon una directory.

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