当前位置:首页 » 文件管理 » c中删除文件夹

c中删除文件夹

发布时间: 2022-11-16 13:59:46

❶ 在c语言中有没有删除文件夹的函数

可以用rmdir
不过 限制是 文件夹必须是空的
如果文件夹非空 需要遍历递归调用remove和rmdir删除所有文件和子文件夹。
事实上
系统命令的rm -r 也是rmdir和remove 递归的。

❷ VC删除当前文件夹指定文件

使用DeleteFile 方法删除指定文件。

BOOL DeleteFile(

LPCTSTR lpFileName // 文件名 指针

);

功能说明

删除一个存在的文件

返回值

如果成功返回一个非0值

失败返回0 可以用GetLastError函数得到错误信息

如果程序尝试删除一个不存在的文件。GetLastError返回ERROR_FILE_NOT_FOUND。如果文件是只读 的,则GetLastError返回ERROR_ACCESS_DENIED

示例代码:

CStringtype,dPath;
dPath.Format("%s\Log\",SystemDir);//指定路径
BOOLret=0;
CFileFindtempFind;
CStringfoundFileName,tempFileName;
CStringtempFileFind=dPath+_T("*.*");
BOOLIsFinded=(BOOL)tempFind.FindFile(tempFileFind);
while(IsFinded)
{
IsFinded=(BOOL)tempFind.FindNextFile();
if(!tempFind.IsDots())
{
foundFileName=tempFind.GetFileName();
tempFileName=dPath+foundFileName;
ret=DeleteFile(tempFileName);//删除文件
}
}
tempFind.Close();

❸ C#怎么删除文件夹的文件

publicstaticvoidDelectDir(stringsrcPath)

{

try

{

DirectoryInfodir=newDirectoryInfo(srcPath);

FileSystemInfo[]fileinfo=dir.GetFileSystemInfos();//返回目录中所有文件和子目录

foreach(FileSystemInfoiinfileinfo)

{

if(iisDirectoryInfo)//判断是否文件夹

{

DirectoryInfosubdir=newDirectoryInfo(i.FullName);

subdir.Delete(true);//删除子目录和文件

}

else

{

//如果使用了streamreader在删除前必须先关闭流,否则无法删除sr.close();

File.Delete(i.FullName);//删除指定文件

}

}

}

catch(Exceptione)

{

throw;

}

}

(3)c中删除文件夹扩展阅读

C#删除指定文件或文件夹

//1、首先判断文件或者文件路径是否存在

if(File.Exists(fileFullPath))

{

//2、根据路径字符串判断是文件还是文件夹

FileAttributesattr=File.GetAttributes(fileFullPath);

//3、根据具体类型进行删除

if(attr==FileAttributes.Directory)

{

//3.1、删除文件夹

Directory.Delete(fileFullPath,true);

}

else

{

//3.2、删除文件

File.Delete(fileFullPath);

}

File.Delete(fileFullPath);

}

❹ c\c++怎样删除文件夹

第一种方法
1.SHFileOperation

SHFILEOPSTRUCT FileOp;
ZeroMemory((void*)&FileOp,sizeof(SHFILEOPSTRUCT));

FileOp.fFlags = FOF_SILENT|FOF_NOCONFIRMATION;
FileOp.hNameMappings = NULL;
FileOp.hwnd = NULL;
FileOp.lpszProgressTitle = NULL;
FileOp.pFrom = lpszPath;
FileOp.pTo = NULL;
FileOp.wFunc = FO_DELETE;

SHFileOperation(&FileOp);
如果加了FOF_SILENT标志,那么在函数调用的时候,即使出错,也不会弹框提示,但是,今天发现,如果这个目录是共享的,依然还是会弹框提示。不知道是不是一个Bug呢?

2.CFileFind

bool DeleteDirectory(char* strDirName)
{
CFileFind tempFind;
char strTempFileFind[MAX_PATH];

sprintf(strTempFileFind,"%s\\*.*", strDirName);
BOOL IsFinded = tempFind.FindFile(strTempFileFind);
while (IsFinded)
{
IsFinded = tempFind.FindNextFile();

if (!tempFind.IsDots())
{
char strFoundFileName[MAX_PATH];
strcpy(strFoundFileName, tempFind.GetFileName().GetBuffer(MAX_PATH));

if (tempFind.IsDirectory())
{
char strTempDir[MAX_PATH];
sprintf(strTempDir,"%s\\%s", strDirName, strFoundFileName);
DeleteDirectory(strTempDir);
}
else
{
char strTempFileName[MAX_PATH];
sprintf(strTempFileName,"%s\\%s", strDirName, strFoundFileName);
DeleteFile(sTempFileName);
}
}
}
tempFind.Close();
if(!RemoveDirectory(strDirName))
{
return FALSE;
}
return TRUE;
}
这个主要通过递归的方法,依次删除文件,直到目录为空,删除目录、文件夹。
第二种
//这是用vc的方法:

bool MyDeleteFile(char * lpszPath)
{
SHFILEOPSTRUCT FileOp={0};
FileOp.fFlags = FOF_ALLOWUNDO | //允许放回回收站
FOF_NOCONFIRMATION; //不出现确认对话框
FileOp.pFrom = lpszPath;
FileOp.pTo = NULL; //一定要是NULL
FileOp.wFunc = FO_DELETE; //删除操作
return SHFileOperation(&FileOp) == 0;
}

void MyDialog::OnButton3()
{
// MyDeleteFile("d:\\PID\0\0"); //删除一个文件夹
MyDeleteFile("d:\\PID.dsp\0d:\\PID.dsw\0\0"); //删除多个文件
}

void MyDialog::OnButton3()
{
// MyDeleteFile("d:\\PID\0\0"); //删除一个文件夹
MyDeleteFile("d:\\PID.dsp\0d:\\PID.dsw\0\0"); //删除多个文件
}

❺ C:\Users\ADMINI~1\AppData\Local\Temp,可以删除这个文件夹吗

可以部分删除,local下面的Temp文件夹内容,这是系统的临时文件,可以删掉。还可以删掉Roaming文件夹系统中没有安装的程序的空文件夹。

C盘AppData文件夹是一个系统文件夹,里面存储着临时文件,各种应用的自定义设置,快速启动文件等。详细步骤:

1、首先让系统显示隐藏文件,按win+R键打开运行,输入controlfolders,如下图所示:

❻ 怎么用C语言删除一个文件夹

//调用system函数并传递字符串参数rd
/s
/q
path(path为目录的路径)就行了
//下面有一个例子
#include<stdio.h>
#include<string.h>
int
main()
{
char
cmd[256]="rd
/s
/q
";
printf("请输入要删除的目录的路径:");
//将目录的路径连接到cmd的后面
gets(cmd+strlen(cmd));
if(0==system(cmd))
printf("目录已删除,请注意查看!\n");
return
0;
}

❼ 怎么用C语言删除一个文件夹

可以用 rmdir() 函数,需要包含头文件 direct.h, 还有一点需要注意,文件夹内是空的才可以删除掉。下面是一个删除d: emp文件夹,代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<direct.h>

intmain()
{
rmdir("D:\temp");

system("pause");
return0;
}

❽ c语言怎么删除一个文件夹里的所有文件

比如说你要删除所有C盘中的文件:
system("del *.*");
del是DOS下的删除命令, *.*这个我不用解释了吧?

❾ c:\windows文件夹里哪些东西是可以删除的

C盘都是系统文件,删错很容易出问题,可以使用系统自带的清理程序进行清理。

如下参考:

1.单击桌面左下角的“开始”菜单,然后单击“设置”图标。

❿ c语言怎么删除文件夹里所有文件

如果想简单
就直接调用系统命令
比如 windows下
system("delete xxxx\\*");
Linux下
system("rm xxxx/*")

如果想用纯C接口
先opendir
然后循环遍历readdir
依次调用remove 函数删除文件。

热点内容
雷霆一击服务器搭建 发布:2024-10-06 03:58:14 浏览:498
导演脚本 发布:2024-10-06 03:37:34 浏览:564
施耐德有密码程序如何打开 发布:2024-10-06 03:37:00 浏览:891
解压缩文件修复 发布:2024-10-06 03:31:17 浏览:703
如何设置休眠时不需要开机密码 发布:2024-10-06 03:03:25 浏览:231
密码工作三个事关的内容是什么 发布:2024-10-06 02:39:44 浏览:424
21款昂科威哪个配置好 发布:2024-10-06 02:20:39 浏览:836
拆装空调压缩机 发布:2024-10-06 01:59:47 浏览:420
dl算法 发布:2024-10-06 01:59:44 浏览:846
宠物商店java 发布:2024-10-06 01:59:43 浏览:538