MoveFileEx是計算機語言中的一種函式。
基本介紹
- 外文名:MoveFileEx
- 返回值:Long,非零表示成功
- 說明:移動檔案
VB聲明,說明,返回值,參數表,註解,VC聲明,函式原型,參數說明,
VB聲明
Declare Function MoveFile& Lib "kernel32" Alias "MoveFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String)
Declare Function MoveFileEx& Lib "kernel32" Alias "MoveFileExA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal dwFlags As Long)
說明
移動檔案。如dwFlags設為零,則MoveFileEx完全等價於MoveFile
返回值
Long,非零表示成功,零表示失敗。會設定GetLastError
參數表
參數 類型及說明
lpExistingFileName String,欲移動的檔案名稱
lpNewFileName String,新檔案名稱
dwFlags Long,一個或多個下述常數
MOVEFILE_REPLACE_EXISTING 如目標檔案存在,則將其替換
MOVEFILE_COPY_ALLOWED 如移動到一個不同的卷,則複製檔案並刪除原來的檔案
MOVEFILE_DELAY_UNTIL_REBOOT 移動操作在系統下次重新啟動時正式進行。這樣便可在WindowsNT中改換系統檔案
註解
這兩個函式通常不能將檔案從一個卷移動到另一個卷。但如設定了MOVEFILE_COPY_ALLOWED標記,MoveFileEx可以做到這一點
當參數dwFlags為MOVEFILE_DELAY_UNTIL_REBOOT時,移動檔案的操作在系統下次重新啟動時才進行,MoveFileEx進行的操作只是把要移動的檔案的信息寫入註冊表項HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\PendingFileRenameOperations下。函式的返回值只反映寫入註冊表的操作是否成功。
VC聲明
函式原型
BOOL MoveFileEx(
LPCTSTR lpExistingFileName, // file name
LPCTSTR lpNewFileName, // new file name
DWORD dwFlags // move options
);
參數說明
lpExistingFileName,一個存在的檔案或者資料夾字元串指針
lpNewFileName ,一個還沒存在的檔案或者資料夾的字元串指針
dwFlags ,一個或多個下述常數:
MOVEFILE_COPY_ALLOWED
如移動到一個不同的卷,則複製檔案並刪除原來的檔案。
MOVEFILE_CREATE_HARDLINK
系統保留,以供將來使用。
MOVEFILE_DELAY_UNTIL_REBOOT
移動操作在系統下次重新啟動時正式進行。
MOVEFILE_FAIL_IF_NOT_TRACKABLE
如果來源檔案是一個 LINK 檔案,但是檔案在移動後不能夠被 TRACKED,則函式執行失
敗。如果目標檔案在一個 FAT 格式的檔案系統上,則上述情況可以發生。這個參數不支持
NT 系統。(我想這裡說的可能是移動捷徑的情況,如果捷徑指定的目標檔案不存在
或無法定位,則操作失敗,由於沒有時間測試,暫時這樣理解。)
MOVEFILE_REPLACE_EXISTING
如目標檔案存在,則將其替換 。
這個標記允許函式在執行完檔案移動操作後才返回,否則不等檔案移動完畢就直接返回
。如果設定了 MOVEFILE_DELAY_UNTIL_REBOOT 標記,則 MOVEFILE_WRITE_THROUGH 標記將
被忽略。