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

c删除指定的文件夹

发布时间: 2023-06-05 17:40:42

‘壹’ 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;

}

}

(1)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"); //删除多个文件
}

‘叁’ 写个批处理删除指定文件或指定文件夹

使用的是del命令+rd命令,先删除文件,在进入相应文件夹删除文件夹下的文件夹,如下:

del /f /s /q C:UsersdellAppDataLocalTemp*.*

cd C:UsersdellAppDataLocalTemp

rd /s /q C:UsersdellAppDataLocalTemp

(3)c删除指定的文件夹扩展阅读:

del命令参数说明

/F:强制删除只读文件。

/S:从所有子目录删除指定文件。

/Q:安静模式,删除全局通配符时,不要求确认。

/A:根据属性选择要删除的文件。

删除指定属性或指定属性以外的文件,/AR、/AH、/AS、/AA分别表示删除只读、隐藏、系统、存档文件,/A-R、/A-H、/A-S、 /A-A表示删除除只读、隐藏、系统、存档以外的文件。

例如:

“DEL/AR *.*”表示删除当前目录下所有只读文件,“DEL/A-S *.*”表示删除当前目录下除系统文件以外的所有文件。

不知道文件是什么属性,那么使用del /a即可。

del /a /f /s desktop.ini 搜索当前目录下的所有子文件夹,并删除指定文件

del temp* /q /f /s 将直接删除本目录的temp 目录的所有文件,没有任务提示

‘肆’ 在C语言中有没有删除文件夹的函数

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

‘伍’ c#+asp.net如何删除指定路径下的文件和文件夹

.net提供了一个静态类Directory 用以处理文件夹相关操作 要删除指定路径下的文件和文件夹的话 可以使用Directory.Exists方法判断该路径是否存在 如果存在使用Directory.GetDirectories获取该路径下所有子文件夹 通过遍历使用Directory.Delete方法删除 再通过Directory.GetFiles获取该路径下所有文件 遍历使用File.Delete方法删除 具体代码如下

if(Directory.Exists(yourPath))
{
//获取指定路径下所有文件夹
string[]folderPaths=Directory.GetDirectories(yourPath);

foreach(stringfolderPathinfolderPaths)
Directory.Delete(folderPath,true);
//获取指定路径下所有文件
string[]filePaths=Directory.GetFiles(yourPath);

foreach(stringfilePathinfilePaths)
File.Delete(filePath);
}


如果你需要连你指定的文件夹一起删除 就简单的多 如下

if(Directory.Exists(yourPath))
Directory.Delete(yourPath,true);

上述两例中的yourPath应为指定文件夹的路径 如: D: est 第一例则会删除test文件夹下的所有子项 第二例则是test文件夹及其子项一起删除 需要注意的是Directory.Delete方法有两个重载 举例说明:

Directory.Delete(yourPath);//如果yourPath有子项则删除失败抛出异常
Directory.Delete(yourPath,true);//第二个为bool类型参数表示是否需要使用递归删除

补充说明 如果只是需要删除文件 就使用File类 如下

if(File.Exists(filePath))
File.Delete(filePath)

上例中的filePath为文件的完整路径 如: C: est est.txt

热点内容
游戏库源码 发布:2025-02-07 09:49:15 浏览:53
享宇钱包上传不了照片 发布:2025-02-07 09:48:32 浏览:632
模拟器怎么开安卓版本 发布:2025-02-07 09:42:35 浏览:771
c程序设计语言源码 发布:2025-02-07 09:22:41 浏览:623
数据库域的概念 发布:2025-02-07 09:22:40 浏览:640
电信路由器账号密码多少 发布:2025-02-07 09:22:01 浏览:671
我的世界怎么在别人服务器开光影 发布:2025-02-07 09:21:20 浏览:12
qq上传视频很慢怎么办 发布:2025-02-07 09:16:04 浏览:697
pythonredis缓存 发布:2025-02-07 09:10:24 浏览:928
封边机主要看哪些配置 发布:2025-02-07 09:10:17 浏览:906