다음을 통해 공유


디렉터리 이동

디렉터리에 포함된 파일 및 하위 디렉터리와 함께 디렉터리를 다른 위치로 이동하려면 MoveFileEx, MoveFileWithProgress 또는 MoveFileTransacted 함수를 호출합니다. MoveFileWithProgress 함수는 MoveFileEx와 동일한 기능을 하며, MoveFileWithProgress를 사용하면 작업 진행률에 대한 알림을 받는 콜백 루틴을 지정할 수 있습니다. MoveFileTransacted 함수를 사용하면 트랜잭션된 작업으로 작업을 수행할 수 있습니다.

다음 예제에서는 디렉터리에서 MoveFileEx 함수를 사용하는 방법을 보여 줍니다.

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