选择目录对话框

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_选择目录对话框_选择文件对话框_指定目录遍历文件的更多相关文章

  1. scp从远程指定目录拷贝文件到本地指定目录

    scp从远程指定目录拷贝文件到本地指定目录 [root@picts ~]# cat /root/scp_pictures.sh #!/bin/bash # Function: copy files f ...

  2. webpack-dev-server将文件产出到指定目录

    默认情况下webpack-dev-server是将文件产出到内存中,写了一个插件 将文件产出到指定目录, 比较简易啊 哈哈哈 使用代码如下 const WebpackDevServerOutput = ...

  3. java中把文件拷贝到指定目录下最简单几种方法

    java中把文件拷贝到指定目录下最简单几种方法   String savePath = "D:/file";// 文件保存到d盘的file目录下 File savefile = n ...

  4. PPT文件流转为图片,并压缩成ZIP文件输出到指定目录

    实现流程: 接收InputStream流->复制流->InputStream流转为PPT->PPT转为图片->所有图片压缩到一个压缩文件下 注意: 1.PPT文件分为2003和 ...

  5. python实现上传文件到linux指定目录

    今天接到一个小需求,就是想在windows环境下,上传压缩文件到linux指定的目录位置并且解压出来,然后我想了一下,这个可以用python试试写下. 环境:1.linux操作系统一台2.window ...

  6. Java解压上传zip或rar文件,并解压遍历文件中的html的路径

    1.本文只提供了一个功能的代码 public String addFreeMarker() throws Exception { HttpSession session = request.getSe ...

  7. Linux下删除空文件,删除指定大小的文件

    Linux下批量删除空文件(大小等于0的文件)的方法: find . -name "*" -type f -size 0c | xargs -n 1 rm -f 用这个还可以删除指 ...

  8. 利用gulp把本地文件移动到指定待发布文件夹

    一.目标 把本地的文件移动到待发布的文件中,把static_grab文件中file.txt所列文件列表移动到beta对应文件夹中: 二.实现 var gulp = require('gulp'), w ...

  9. linux文件夹操作及递归遍历文件夹

    文件夹相关函数介绍 //mkdir 函数创建文件夹 #include <sys/stat.h> #include <sys/types.h> int mkdir(const c ...

  10. c#winform选择文件,文件夹,打开指定目录方法

    private void btnFile_Click(object sender, EventArgs e) { OpenFileDialog fileDialog = new OpenFileDia ...

随机推荐

  1. Java线程的wait(), notify()和notifyAll()

    Java线程生命周期 类java.lang.Thread包含一个静态的State enum用于定义每种可能的状态. 在任意的时间点, 线程会处于以下的状态之一: NEW – 新创建的线程, 还未启动( ...

  2. Conv2d常设置参数意义-继续扩展

    记录下一些常用设置: 1.下采样 当设置为: nn.Conv2d(nc,ndf,,,,bias=False) kernel_size = 4, stride = 2, padding = 1,就是将特 ...

  3. ThinkPHP5最新URL访问:PATH_INFO和兼容模式

    https://www.jianshu.com/p/c43fb5817ae1 http://tp5.com/index.php?s=USER/manger_user/add&n=2000&am ...

  4. LinkedBlockingQueue与ArrayBlockingQueue

    阻塞队列与普通的队列(LinkedList/ArrayList)相比,支持在向队列中添加元素时,队列的长度已满阻塞当前添加线程,直到队列未满或者等待超时:从队列中获取元素时,队列中元素为空 ,会将获取 ...

  5. windows10 卓越性能模式

    打开cmd,输入 powercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61 再到电池选项里,勾选卓越性能模式 若没出现卓越性能,创建 ...

  6. [LeetCode] 195. Tenth Line 第十行

    Given a text file file.txt, print just the 10th line of the file. Example: Assume that file.txt has ...

  7. 【Python学习之七】类和对象

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.面向对象编程1.概念(1)面向对象编程(OOP ...

  8. Consul1.5.0 带ACL控制集群搭建

    Consul Cluster with ACL1.机器规划2.先配置好三个Server,并启动一遍.3.生成并配置agent-token,解决server agent ACL block问题4.启动一 ...

  9. [New!!!]欢迎大佬光临本蒟蒻的博客(2019.11.27更新)

    更新于2019.12.22 本蒟蒻在博客园安家啦!!! 本蒟蒻的博客园主页 为更好管理博客,本蒟蒻从今天开始,正式转入博客园. 因为一些原因,我的CSDN博客将彻底不会使用!!!(带来不便,敬请谅解) ...

  10. LeetCode 872. 叶子相似的树(Leaf-Similar Trees)

    872. 叶子相似的树 872. Leaf-Similar Trees 题目描述 请考虑一颗二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个叶值序列. LeetCode872. Leaf- ...