Bagikan melalui


Memindahkan Direktori

Untuk memindahkan direktori ke lokasi lain, bersama dengan file dan subdirektori yang terkandung di dalamnya, panggil fungsi MoveFileEx, MoveFileWithProgress, atau MoveFileTransacted . Fungsi MoveFileWithProgress memiliki fungsionalitas yang sama dengan MoveFileEx, kecuali bahwa MoveFileWithProgress memungkinkan Anda menentukan rutinitas panggilan balik yang menerima pemberitahuan tentang kemajuan operasi. Fungsi MoveFileTransacted memungkinkan Anda melakukan operasi sebagai operasi yang ditransaksikan.

Contoh berikut menunjukkan penggunaan fungsi MoveFileEx dengan direktori.

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