共用方式為


MoveFileW 函式 (winbase.h)

移動現有的檔案或目錄,包括其子系。

若要指定如何移動檔案,請使用moveFileEx MoveFileWithProgress 函式。

若要以交易作業的形式執行此作業,請使用 MoveFileTransacted 函式。

語法

BOOL MoveFileW(
  [in] LPCWSTR lpExistingFileName,
  [in] LPCWSTR lpNewFileName
);

參數

[in] lpExistingFileName

本機電腦上的檔案或目錄目前名稱。

根據預設,名稱限製為MAX_PATH個字元。 若要將此限制延伸至 32,767 寬字元,請在路徑前面加上 “\\?\”。 如需詳細資訊,請參閱 命名檔案、路徑和命名空間

提示

從 Windows 10 版本 1607 開始,您可以選擇移除MAX_PATH限制,而不需預先加上 “\\?\”。 如需詳細資訊,請參閱 命名檔案、路徑和命名空間 的一節。

[in] lpNewFileName

檔案或目錄的新名稱。 新名稱不得已存在。 新的檔案可能位於不同的文件系統或磁碟驅動器上。 新目錄必須位於相同的磁碟驅動器上。

根據預設,名稱限製為MAX_PATH個字元。 若要將此限制延伸至 32,767 寬字元,請在路徑前面加上 “\\?\”。 如需詳細資訊,請參閱 命名檔案、路徑和命名空間

提示

從 Windows 10 版本 1607 開始,您可以選擇移除MAX_PATH限制,而不需預先加上 “\\?\”。 如需詳細資訊,請參閱 命名檔案、路徑和命名空間 的一節。

傳回值

如果函式成功,則傳回值為非零值。

如果函式失敗,傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

言論

MoveFile 函式會移動檔案或目錄(包括其子系)在相同目錄或跨目錄移動(包括其子系)。 其中一個注意事項是,當目的地位於不同磁碟區時,MoveFile 函式會在目錄移動時失敗。

如果檔案在磁碟區之間移動,MoveFile 不會移動檔案的安全性描述項。 檔案將會指派目的地目錄中的預設安全性描述元。

MoveFile 函式會與連結追蹤服務協調其作業,因此可以在行動連結來源時加以追蹤。

在 Windows 8 和 Windows Server 2012 中,下列技術支援此功能。

科技 支援
伺服器消息塊 (SMB) 3.0 通訊協定 是的
SMB 3.0 透明故障轉移 (TFO) 請參閱批注
具有向外延展檔案共用的SMB 3.0(SO) 請參閱批注
叢集共用磁碟區檔案系統 (CsvFS) 是的
復原檔案系統 (ReFS) 是的
 

SMB 3.0 不支援在具有持續可用性功能的檔案共用上重新命名替代數據流。

注意

winbase.h 標頭會將MoveFile定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
支援的最低伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平臺 窗戶
標頭 winbase.h (包括 Windows.h)
連結庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

CopyFile

檔案管理功能

MoveFileEx

MoveFileTransacted

MoveFileWithProgress