Dizinleri Taşıma

Bir dizini, içinde bulunan dosyalar ve alt dizinlerle birlikte başka bir konuma taşımak için MoveFileEx, MoveFileWithProgressveya MoveFileTransacted işlevini çağırın. MoveFileWithProgress işlevi, MoveFileWithProgress işlemin ilerleme durumuyla ilgili bildirim alan bir geri çağırma yordamı belirtmenize olanak sağlaması dışında MoveFileExile aynı işlevselliğe sahiptir. MoveFileTransacted işlevi, işlemi işlem yapılmış bir işlem olarak gerçekleştirmenizi sağlar.

Aşağıdaki örnek, MoveFileEx işlevinin bir dizinle kullanımını gösterir.

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