DeleteFile 方法删除指定文件。
object.DeleteFile ( filespec[, force] );
object
必选项。 应为 FileSystemObject 的名称。
filespec
必选项。 要删除的文件的名称。filespec可以在最后的路径成分中包含通配字符。
force
可选项。 Boolean 值,如果要删除设置了只读属性的文件,则为true;如果不删除则为false(默认)。
删除一个存在的文件。
DeleteFile 方法删除指定文件。
BOOL DeleteFile(
LPCSTRlpFileName//要删除的文件名的指针
);
lpFileName
必选项。要删除文件的路径。
返回值
成功返回非零,失败返回0
更多错误信息使用GetLastError获取。
如果程序尝试删除一个不存在的文件。GetLastError返回ERROR_FILE_NOT_FOUND。如果文件是只读 的,则GetLastError返回ERROR_ACCESS_DENIED
注:
在2000/NT/XP系统下,如果程序试图去删除一个输入输出文件或者是内存映射文件函数调用就会失败
如果找不到匹配的文件则出错。DeleteFile方法在遇到第一个错误时终止。 出错后不试图回滚或撤消出错前做的修改。
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();
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;
}
导入库:kernel32.dll
***.Net中运用
命名空间 using System.Runtime.InteropServices;
导入库 [DllImport("kernel32.dll", EntryPoint = "DeleteFile")]
函数原型 public static extern bool DeleteFile(StringBuilder path);
参数说明 StringBuilder path,path指的是所要删除文件的绝对路径
返回值 布尔值