C++如何搜索出该程序目录下所有特定后缀名的文件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++如何搜索出该程序目录下所有特定后缀名的文件?相关的知识,希望对你有一定的参考价值。

C++如何搜索出该程序目录下所有特定后缀名的文件?

参考技术A 记录一个小技巧,查找一个目录下所有特定扩展名的的文件名。代码所示是查找所有后缀为“.txt”的文件名,并将结果存储于名为statfileurllist的vector中
注:也可以查找子目录
//存储文件名列表
vector<CString> statfileurllist;
//查找TXT文件
WIN32_FIND_DATAA wfd;
CString sPath ="*.txt";//查找指定目录下的所有格式的文件。
//CString sPath ="reso\\*.xls";
HANDLE hFile = FindFirstFile(sPath.GetBuffer(),&wfd);
if(INVALID_HANDLE_VALUE == hFile)

TRACE("不合法!\n");
return;
do
statfileurllist.push_back(wfd.cFileName);
TRACE("%s\n",wfd.cFileName);
while(FindNextFile(hFile,&wfd));

Linux常用命令04(其他命令)

01. 查找文件

  • find 命令功能非常强大,通常用来在 特定的目录下 搜索 符合条件的文件
序号 命令 作用
01 find [路径] -name "*.py" 查找指定路径下拓展名是 .py 的文件,包括子目录
  • 如果省略路径,表示在当前文件夹下查找

示例

1. 搜索桌面目录下,文件名包含 1 的文件


find -name "*1*"

2. 搜索桌面目录下,所有以 .txt 为拓展名的文件


find -name "*.txt"

3. 搜索桌面目录下,以数字 1 开头的文件


find -name "1*"

02. 软链接

序号 命令 作用
01 ln -s 被链接的源文件 链接文件 建立文件的软连接,类似于 Windows 下创建快捷方式
  • ps
    1. 没有 -s 选项建立的是一个 硬链接文件
    • 两个文件占用相同大小的硬盘文件,相当于复制重命名,应该没有人会这么做吧=.=
    1. 源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍然能够正常使用

03. 打包压缩

3.1 打包 / 解包

  • tar 是 Linux 中最常用的 备份 工具,此命令可以把 一系列文件 打包到 一个大文件中,也可以把一个 打包的大文件恢复成一系列文件
  • tar 的命令格式

# 打包文件

tar -cvf 打包文件.tar 被打包文件/路径...



# 解包文件

tar -xvf 解包文件.tar
  • tar 选项说明
    | 选项 | 含义 |
    | :-----| :-----|
    | c | 生成档案文件,创建打包文件 |
    | x | 解开档案文件 |
    | v | 列出归档解档的详细过程,显示进度 |
    | f | 指定档案文件名称,f后面一定是 .tar 文件,所以必须放选项最后|

注意:f 选项必须放在最后,其他选项顺序可以随意

3.2 压缩/解压缩

1) gzip

  • tar 与 gzip命令结合可以使用实现文件 打包和压缩
    • tar 只负责打包文件,但不压缩
    • 用 gzip 压缩 tar 打包后的文件,其拓展名一般用 xxx.tar.gz

在Linux中, 最常见的压缩文件格式就是 xxx.tar.gz

  • 在tar 命令中有一个选项 -z 可以调用gzip,从而可以方便的实现压缩和解压缩的功能
  • 命令格式如下

# 压缩文件

tar -zcvf 压缩文件.tar.gz 被压缩文件/路径...



# 解压缩文件

tar -zxvf 压缩文件.tar.gz



# 解压缩到指定路径

tar -zxvf 压缩文件.tar.gz -C 目录路径
选项 含义
-C 解压缩到指定目录,注意:要解压缩的目录必须存在

04. 软件安装

  • apt 是 Advanced Packaging Tool,是 Linux 下的一款安装包管理工具
  • 可以在终端中方便的 安装/卸载/更新软件包

# 1. 安装软件

$ sudo apt install 软件包



# 2. 卸载软件

$ sudo apt remove 软件名



# 3. 更新已安装的包

$ sudo apt upgrate

以上是关于C++如何搜索出该程序目录下所有特定后缀名的文件?的主要内容,如果未能解决你的问题,请参考以下文章

删除windows上特定目录下以*.rar后缀名的python脚本

File类中根据指定后缀名查找所有以该后缀名的文件或者目录

如何删除子目录下所有指定后缀文件?

利用python copy目录下所有特定后缀的文件

Linux常用命令04(其他命令)

WindowsServer2012R2配置共享特定后缀名的文件