Bagikan melalui


Fungsi MoveFileA (winbase.h)

Memindahkan file atau direktori yang ada, termasuk turunannya.

Untuk menentukan cara memindahkan file, gunakan fungsi MoveFile Ex atau MoveFileWithProgress.

Untuk melakukan operasi ini sebagai operasi yang ditransaksikan, gunakan fungsi moveFileTransacted .

Sintaksis

BOOL MoveFileA(
  [in] LPCSTR lpExistingFileName,
  [in] LPCSTR lpNewFileName
);

Parameter

[in] lpExistingFileName

Nama file atau direktori saat ini pada komputer lokal.

Secara default, nama dibatasi untuk MAX_PATH karakter. Untuk memperpanjang batas ini menjadi 32.767 karakter lebar, tambahkan awal "\\?\" ke jalur. Untuk informasi selengkapnya, lihat Penamaan File, Jalur, dan Namespace.

Ujung

Dimulai dengan Windows 10, Versi 1607, Anda dapat memilih untuk menghapus batasan MAX_PATH tanpa prepending "\\?\". Lihat bagian "Batasan Panjang Jalur Maksimum" Penamaan File, Jalur, dan Namespace untuk detailnya.

[in] lpNewFileName

Nama baru untuk file atau direktori. Nama baru belum boleh ada. Berkas baru mungkin ada pada sistem file atau drive yang berbeda. Direktori baru harus berada di drive yang sama.

Secara default, nama dibatasi untuk MAX_PATH karakter. Untuk memperpanjang batas ini menjadi 32.767 karakter lebar, tambahkan awal "\\?\" ke jalur. Untuk informasi selengkapnya, lihat Penamaan File, Jalur, dan Namespace.

Ujung

Dimulai dengan Windows 10, Versi 1607, Anda dapat memilih untuk menghapus batasan MAX_PATH tanpa prepending "\\?\". Lihat bagian "Batasan Panjang Jalur Maksimum" Penamaan File, Jalur, dan Namespace untuk detailnya.

Mengembalikan nilai

Jika fungsi berhasil, nilai yang dikembalikan bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError.

Komentar

Fungsi moveFile akan memindahkan (mengganti nama) baik file atau direktori (termasuk anak-anaknya) baik di direktori yang sama atau di seluruh direktori. Satu peringatan adalah bahwa fungsi MoveFile akan gagal pada direktori bergerak ketika tujuan berada pada volume yang berbeda.

Jika file dipindahkan ke seluruh volume, MoveFile tidak memindahkan deskriptor keamanan dengan file. File akan diberi pendeskripsi keamanan default di direktori tujuan.

Fungsi MoveFile mengoordinasikan operasinya dengan layanan pelacakan tautan, sehingga sumber tautan dapat dilacak saat dipindahkan.

Di Windows 8 dan Windows Server 2012, fungsi ini didukung oleh teknologi berikut.

Teknologi Didukung
Protokol Server Message Block (SMB) 3.0 Ya
Failover Transparan (TFO) SMB 3.0 Lihat komentar
SMB 3.0 dengan Scale-out File Shares (SO) Lihat komentar
Sistem File Volume Bersama Kluster (CsvFS) Ya
Sistem File Tangguh (ReFS) Ya
 

SMB 3.0 tidak mendukung penggantian nama aliran data alternatif pada berbagi file dengan kemampuan ketersediaan berkelanjutan.

Nota

Header winbase.h mendefinisikan MoveFile sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows XP [hanya aplikasi desktop]
server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Platform Target Windows
Header winbase.h (termasuk Windows.h)
Pustaka Kernel32.lib
DLL Kernel32.dll

Lihat juga

CopyFile

File Management Functions

MoveFileEx

MoveFileTransacted

MoveFileWithProgress