介紹(MFC)
用法
DeleteFile 方法刪除指定檔案。
object.DeleteFile ( filespec[, force] );
參數
object
必選項。 應為 FileSystemObject 的名稱。
filespec
必選項。 要刪除的檔案的名稱。 filespec 可以在最後的路徑成分中包含通配字元。
force
可選項。 Boolean 值,如果要刪除設定了唯讀屬性的檔案,則為 true ;如果不刪除則為 false (默認)。
介紹(VC)
刪除一個存在的檔案。
用法
DeleteFile 方法刪除指定檔案。
BOOL DeleteFile(
LPCSTRlpFileName//要刪除的檔案名稱的指針
);
參數
lpFileName
必選項。要刪除檔案的路徑。
返回值
成功返回非零,失敗返回0
更多錯誤信息使用GetLastError獲取。
如果程式嘗試刪除一個不存在的檔案。GetLastError返回ERROR_FILE_NOT_FOUND。如果檔案是唯讀 的,則GetLastError返回ERROR_ACCESS_DENIED
註:
在2000/NT/XP系統下,如果程式試圖去刪除一個輸入輸出檔案或者是記憶體映射檔案函式調用就會失敗
說明
如果找不到匹配的檔案則出錯。 DeleteFile 方法在遇到第一個錯誤時終止。 出錯後不試圖回滾或撤消出錯前做的修改。
MFC示例
CString type,dPath;
dPath.Format("%s\\Log\\",SystemDir); //指定路徑
BOOL ret=0;
CFileFind tempFind;
CString foundFileName,tempFileName;
CString tempFileFind=dPath+_T("*.*");
BOOL IsFinded=(BOOL)tempFind.FindFile(tempFileFind);
while(IsFinded)
{
IsFinded=(BOOL)tempFind.FindNextFile();
if(!tempFind.IsDots())
{
foundFileName=tempFind.GetFileName();
tempFileName=dPath+foundFileName;
ret = DeleteFile(tempFileName); // 刪除檔案
}
}
tempFind.Close();
VC示例
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
TCHAR ch[1000];
BOOL b = DeleteFile("D:\\1.txt");
if(!b)
{
DWORD d = GetLastError();
sprintf(ch,"刪除失敗!錯誤代碼:%d",d);
MessageBox(NULL,ch,"刪除檔案失敗!",MB_OK | MB_ICONERROR);
return 0;
}
MessageBox(NULL,"刪除檔案成功","刪除檔案成功!",MB_OK);
return 0;
}
在C#中使用
導入庫:kernel32.dll
***.Net中運用
命名空間 using System.Runtime.InteropServices;
導入庫 [DllImport("kernel32.dll", EntryPoint = "DeleteFile")]
函式原型 public static extern bool DeleteFile(StringBuilder path);
參數說明 StringBuilder path,path指的是所要刪除檔案的絕對路徑
返回值 布爾值