Bagikan melalui


Memindahkan Direktori

Untuk memindahkan direktori ke lokasi lain, bersama dengan file dan subdirektori yang terkandung di dalamnya, panggil MoveFileEx, moveFileWithProgress, atau fungsi MoveFileTransacted. FungsiMoveFileWithProgress 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 transaksional.

Contoh berikut menunjukkan penggunaan fungsiMoveFileEx 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]);
}