MFC_选择目录对话框_选择文件对话框_指定目录遍历文件
选择目录对话框
void C资源共享吧视频广告清理工具Dlg::OnBnClickedCls()
{
// 清空编辑框内容
m_Edit.SetWindowTextW(L"");
m_Edit2.SetWindowTextW(L"");
// 打开一个文件夹选择对话框(选择目录)
CFolderPickerDialog dlg;
// 设置对话框标题
dlg.m_ofn.lpstrTitle = TEXT("请选择清理目录");
// 点击了选择文件夹才去清理垃圾
if (dlg.DoModal() == TRUE)
{
// 获取选则的目录
CString path = dlg.GetFolderPath();
// 设置编辑框内容(m_Edit 是 CEdit 类型)
m_Edit.SetWindowTextW(path);
// 清理广告
ClsAd(path);
}
else
{
::MessageBox(, L"请选择清理目录!", L"提示", );
}
}
选择文件对话框
// 1、打开一个文件夹选择对话框
CFileDialog dlg(TRUE);
if (dlg.DoModal() == IDOK)
{
CString path = dlg.GetFolderPath();
// 2、获取选择的文件的后缀名,判断是否是DLL
CString path1 = dlg.GetFileName();
PCTSTR FileType = PathFindExtension(path1);
if (wcscmp(FileType, L".dll") != )
{
m_Edit2.SetWindowText(L"");
return;
}
// 3、将文件路径显示到编辑框
m_Edit2.SetWindowText(path + L"\\" + path1);
}
指定目录遍历文件
void C资源共享吧视频广告清理工具Dlg::ClsAd(const CString path)
{
// 调用FindFirstFile找到这个目录下的第一个文件/文件夹
WIN32_FIND_DATA fData = { };
HANDLE hFind = FindFirstFile(path + "\\*", &fData);
if (hFind == INVALID_HANDLE_VALUE)
{
::MessageBox(, L"查找文件失败!", L"提示", );
return;
}
// 再循环调用FindNextFile得到后续所有的文件/文件夹
do
{
CString strName(fData.cFileName);
// 过滤掉当前目录和上一级目录
if (wcscmp(fData.cFileName, L".") == || wcscmp(fData.cFileName, L"..") == )
{
continue;
}
// 查找广告文件删除
if (wcscmp(fData.cFileName, L"本教程由资源共享吧提供.url") == || wcscmp(fData.cFileName, L"下载必看.txt") == || wcscmp(fData.cFileName, L"更多精品教程.url") == )
{
CString strText = _T("");
// 获取编辑框2当前文本
m_Edit2.GetWindowTextW(strText);
// 拼接字符串
strText += path + L"\\" + strName + L"已删除!\r\n";
// 设置编辑框2文本
m_Edit2.SetWindowTextW(strText);
// 删除文件
DeleteFile(path + L"\\" + strName);
}
// 如果文件是一个文件夹的话, 就递归遍历
if (fData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
ClsAd(path + L"\\" + strName);
}
} while (FindNextFile(hFind, &fData));
}
MFC_选择目录对话框_选择文件对话框_指定目录遍历文件的更多相关文章
- scp从远程指定目录拷贝文件到本地指定目录
scp从远程指定目录拷贝文件到本地指定目录 [root@picts ~]# cat /root/scp_pictures.sh #!/bin/bash # Function: copy files f ...
- webpack-dev-server将文件产出到指定目录
默认情况下webpack-dev-server是将文件产出到内存中,写了一个插件 将文件产出到指定目录, 比较简易啊 哈哈哈 使用代码如下 const WebpackDevServerOutput = ...
- java中把文件拷贝到指定目录下最简单几种方法
java中把文件拷贝到指定目录下最简单几种方法 String savePath = "D:/file";// 文件保存到d盘的file目录下 File savefile = n ...
- PPT文件流转为图片,并压缩成ZIP文件输出到指定目录
实现流程: 接收InputStream流->复制流->InputStream流转为PPT->PPT转为图片->所有图片压缩到一个压缩文件下 注意: 1.PPT文件分为2003和 ...
- python实现上传文件到linux指定目录
今天接到一个小需求,就是想在windows环境下,上传压缩文件到linux指定的目录位置并且解压出来,然后我想了一下,这个可以用python试试写下. 环境:1.linux操作系统一台2.window ...
- Java解压上传zip或rar文件,并解压遍历文件中的html的路径
1.本文只提供了一个功能的代码 public String addFreeMarker() throws Exception { HttpSession session = request.getSe ...
- Linux下删除空文件,删除指定大小的文件
Linux下批量删除空文件(大小等于0的文件)的方法: find . -name "*" -type f -size 0c | xargs -n 1 rm -f 用这个还可以删除指 ...
- 利用gulp把本地文件移动到指定待发布文件夹
一.目标 把本地的文件移动到待发布的文件中,把static_grab文件中file.txt所列文件列表移动到beta对应文件夹中: 二.实现 var gulp = require('gulp'), w ...
- linux文件夹操作及递归遍历文件夹
文件夹相关函数介绍 //mkdir 函数创建文件夹 #include <sys/stat.h> #include <sys/types.h> int mkdir(const c ...
- c#winform选择文件,文件夹,打开指定目录方法
private void btnFile_Click(object sender, EventArgs e) { OpenFileDialog fileDialog = new OpenFileDia ...
随机推荐
- 用于KV集群的一致性哈希Consistent Hashing机制
KV集群的请求分发 假定N为后台服务节点数,当前台携带关键字key发起请求时,我们通常将key进行hash后采用模运算 hash(key)%N 来将请求分发到不同的节点上, 后台节点的增删会引起几乎所 ...
- (6)Flask项目之会员注册页面
一.添加注册页面的路由 修改app/home/views.py内容,追加注册("/regist/")页面的路由: # coding:utf8 from . import home ...
- Cache管理机制(System.Web.Caching)
一,System .Web.Caching与缓存工作机制简介 System.Web.Caching是用来管理缓存的命名空间,其父级空间是System.Web,由此可见,缓存通常用于Web网站的开发,包 ...
- oracle plsql 异常
set serveroutput on DECLARE pename emp.ename%type; begin '; exception when no_data_found then dbms ...
- 在使用redis做缓存后,mybatis的延迟加载失效
原来使用的是EHcache,mybatis延迟加载没有问题,改成redis后,延迟加载获得数据时就会发生错误. 报:Cannot get Configuration as configuration ...
- IDEA 2018 搭建 Spring MVC helloworld
转自https://segmentfault.com/a/1190000017248622 网上看了不少idea搭建SpringMVC Helloworld的例子,但是一个个试下来都没有成功.我把他们 ...
- 算法练习之杨辉三角,杨辉三角的第 k 行,买卖股票的最佳时机
1. 杨辉三角 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例: 输入: 输出: [ [], [,], [,,], [ ...
- 有些新电脑采用“UEFI”作为固件。由于UEFI不支持DOS,所以在UEFI环境下安装的WIN10等系统也就无法使用基于DOS的一键GHOST
有些新电脑采用“UEFI”作为固件.由于UEFI不支持DOS,所以在UEFI环境下安装的WIN10等系统也就无法使用基于DOS的一键GHOST
- 21 javaweb开发--bug调试技巧
1.当修改代码后,测试时没有任何效果 解决方案:换个浏览器试试,可能是浏览器缓存的原因.
- c++修改打印机名称
public static bool SetPrinterName(string OldName, string newName) { IntPtr hPrinter; PrintAPI.struct ...