共用方式為


RemoveDirectoryW 函式 (fileapi.h)

刪除現有的空白目錄。

若要以交易作業的形式執行這項作業,請使用 removeDirectoryTransacted 函式

語法

BOOL RemoveDirectoryW(
  [in] LPCWSTR lpPathName
);

參數

[in] lpPathName

要移除之目錄的路徑。 此路徑必須指定空的目錄,而且呼叫進程必須具有目錄的刪除存取權。

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

提示

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

傳回值

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

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

言論

RemoveDirectory 函式會在關閉時標示要刪除的目錄。 因此,在關閉目錄的最後一個句柄之前,不會移除目錄。

若要遞歸刪除目錄中的檔案,請使用 SHFileOperation 函式。

RemoveDirectory 可用來移除目錄連接點。 由於目標目錄及其內容仍可透過標準路徑存取,因此目標目錄本身不會受到移除目標連接點的影響。 因此,當 lpPathName 參考目錄連接點時,不論目標目錄是否空白,RemoveDirectory 都會移除指定的連結。 如需連接點的詳細資訊,請參閱 硬式連結和連接

使用 POSIX 刪除會導致在句柄保持開啟時刪除目錄。 後續呼叫 CreateDirectory 開啟目錄時失敗,ERROR_FILE_NOT_FOUND

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

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

注意

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

要求

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

另請參閱

CreateDirectory

建立和刪除目錄

Directory Management Functions

RemoveDirectoryTransacted