windows中遍历指定文件夹下的所有子文件夹

#include "stdafx.h"

#include "Windows.h"

#include <vector>

#include <string>

#include "iostream"

using namespace std;

int GetSubFolders(string& folder, vector<string>& subFolders )

{

subFolders.clear();

WIN32_FIND_DATAA fileFindData;

string nameWC = folder + "//*";

HANDLE hFind = ::FindFirstFileA(nameWC.c_str(), &fileFindData);

if (hFind == INVALID_HANDLE_VALUE)

{

cout<<"folder path error...."<<endl;

system("pause");

return 0;

}

do

{

if (fileFindData.cFileName[0] == ‘.‘)

{

continue; //filter the ‘..‘ and ‘.‘ in the path

}

if (fileFindData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)

{

subFolders.push_back(folder+"//"+fileFindData.cFileName);

}

}while(::FindNextFileA(hFind, &fileFindData));

FindClose(hFind);

return (int)subFolders.size();

}

int main(int argc, char* argv[])

{

string folder = "E:";

vector<string> subDir;

int count = GetSubFolders(folder, subDir);

cout<<"count = "<<count<<endl;

for (int i=0; i<count; i++)

{

cout<<subDir[i].c_str()<<endl;

}

system("pause");

return 0;

}

//运行后,遍历E盘中的所有文件目录,并打印所有目录名

时间: 2024-09-30 19:01:48

windows中遍历指定文件夹下的所有子文件夹的相关文章

android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件

1.下载工具 xstream 下载最新版本地址: https://nexus.codehaus.org/content/repositories/releases/com/thoughtworks/xstream/ 下载完成后 把jar包导入到自己的android项目中 2.asset 文件夹 下的 aa.xml 文件 <?xml version="1.0" encoding="UTF-8"?><product>    <name>

获取某文件夹下所有文件名、文件夹名、后缀名

今天在提交github时,突然觉得提交得很慢,想到github允许设置.gitignore文件进行某些后缀名的忽略,于是乎决定好好设置一下.gitimnore. 于是乎....我发现,一个很大的项目,或者一个很杂乱的文件库,很难知道这里面到底存在哪些后缀名的文件,一个文件夹一个文件夹的找又太慢,而且容易出错. 于是乎....我开始敲代码了,顺带着把获取某文件夹下所有文件名.文件夹名.后缀名这三个功能一起实现了. [来看效果] 不输入参数时或者第一个参数输入"\"时,默认为当前目录,显示

VBA读取可选择文件夹下可选择txt文件内容

Sub OneTxt() '打开一个txt文件 Dim Filename As Variant, extLine&, mArr() As String Dim i%, j% ChDir ThisWorkbook.Path Filename = Application.GetOpenFilename("Text Files (*.txt), *.txt", , "请选取档案", , MultiSelect:=True) j = 1 For k = 1 To U

将文件夹下的一级目录文件改名并移动目录

#此段代码实现将文件夹下的一级目录文件改名并移动目录 #list = os.listdir(Datadir) #列出文件夹下所有的目录与文件 #for i in range(0,len(list)): # path = os.path.join(Datadir,list[i]) # list2=os.listdir(path) # for j in range(0,len(list2)): # path2 = os.path.join(path,list2[j]) # if os.path.is

Java使用线程池递归压缩文件夹下面的所有子文件

本文将介绍Java中利用线程池递归的方式压缩文件夹下面的所有子文件,具体方法如下: Gzip单个文件压缩 对于单个文件使用GZip压缩. package date0805.demo1; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream

JavaSE8基础 File list 获取指定文件夹下的第一层文件和文件夹的名字

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0) information: 被查看文件夹中的内容截图. code: package jizuiku0; import java.io.File; /* * @version V17.09 */ public class GetName { public static void main(String[] args) { String

python 找某个文件夹下第多少个文件

preface:同仁遇到一个问题,需要在上万个文件中找到第7000个文件,凌乱...查了下python相关资料,虽说没有完全解决,但还是有东西记录下来. 一.对某个文件夹下遍历文件,os.walk可破.若是多个文件夹的话,配合isdir, isfile等函数可破(参数可有可无): <span style="font-size:18px;">for i in os.walk(os.getcwd(),topdown=True, onerror=None, followlinks

批量将制定文件夹下的全部Excel文件导入微软SQL数据库

以下代码将c:\cs\文件夹下的全部Excle中数据导入到SQL数据库 declare @query vARCHAR(1000) declare @max1 int declare @count1 int declare @filename varchar(100) set @count1=0 create table #x(name varchar(200)) insert #x exec('master.dbo.xp_cmdshell  ''dir c:\cs\*.xls  /b''') d

linux删除文件夹下除了某一个文件之外的所有文件及find用法

原文: https://www.jb51.net/article/99319.htm 比如一个目录下有1,2,3,4,5这五个文件,现在我需要删除除了2以外的所有文件,那么我可以使用 find . ! -name 2 -exec rm -f {} \; 当然你还可以配合着 -maxdepth 来更精准的删除了. 下面演示删除的范围仅限于当前目录. find . -maxdepth 1 ! -name 2 -exec rm -f {} \; find . -mindepth 3 -maxdepth