我使用下面的代碼刪除大量文件獲得Windows的ShFileOperation「API Delphi中
function FastDelete(const fromDir: string): Boolean;
var
fos: TSHFileOpStruct;
begin
ZeroMemory(@fos, SizeOf(fos));
with fos do
begin
wFunc := FO_DELETE;
fFlags := FOF_FILESONLY or
FOF_NOCONFIRMATION or
FOF_NO_CONNECTED_ELEMENTS or
FOF_NOERRORUI or
FOF_NO_UI;
pFrom := PChar(fromDir+'\*.*' + #0);
end;
Result := (0 = ShFileOperation(fos));
end;
我如何得到它遞歸刪除路徑中的所有文件?
編輯
的問題是FOF_FILESONLY標誌 取出文件被刪除遞歸
嗨梅森 - 我不使用FOF_NORECURSION我應該如何更改我的代碼,使其遞歸刪除子目錄中的文件? – 2009-10-19 22:21:27
它應該在默認情況下遞歸執行。檢查我的編輯。 – 2009-10-19 23:29:14
此外,如果您要刪除整個目錄,則不確定是否需要'\ *。*'掩碼。傳遞函數目錄本身應該足夠 – EagleOfToledo 2009-10-20 00:28:27