VS遍历windows文件夹的代码

简介: VS遍历windows文件夹的代码

有点麻烦:

#include <iostream>
#include "windows.h"
#include <string.h>
#include <Strsafe.h>
using namespace std;
//传入要遍历的文件夹路径,并遍历相应文件夹
void processPath(const wchar_t Dir)    
{
  WIN32_FIND_DATA FindFileData;
  HANDLE hFind=INVALID_HANDLE_VALUE;
  wchar_t DirSpec[MAX_PATH];
  StringCchCopy(DirSpec,MAX_PATH,Dir);
    StringCchCat(DirSpec,MAX_PATH,TEXT("\\*"));
  hFind=FindFirstFile(DirSpec,&FindFileData);
  if (hFind==INVALID_HANDLE_VALUE)
  {
    FindClose(hFind); 
    return;  
  }
  while (FindNextFile(hFind,&FindFileData) != 0)
  {
        //文件,直接处理
        if((FindFileData.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY) ==0)
        {
           //processFile()
        }
        //特殊目录,不处理。
        if (   wcscmp(FindFileData.cFileName,L"." )==0
            || wcscmp(FindFileData.cFileName,L"..")==0)
    {
       continue;
    }
    //目录,递归处理
    wchar_t DirAdd[MAX_PATH];
    StringCchCopy(DirAdd,MAX_PATH,Dir);
    StringCchCat(DirAdd,MAX_PATH,TEXT("\\"));
    StringCchCat(DirAdd,MAX_PATH,FindFileData.cFileName);
    processPath(DirAdd);
  }
  FindClose(hFind);
}
int _tmain( int argc, wchar_t *argv[ ], wchar_t *envp[ ] )
{
  locale loc( "chs" );                //支持中文输出,否则wchar可能无法输出值为中文的变量
  wcout.imbue( loc );
  processPath(L"D:\\Test");         //遍历指定的文件夹,此处文件路径可按具体情况修改
  system("pause");
  return 0;
}

有的朋友问,如果要使用char怎么办?

这个也简单, FindFirstFileA(),在看看参数差异。

目录
相关文章
|
3月前
|
Linux Windows
Windows系统批量创建文件夹的技巧
Windows系统批量创建文件夹的技巧
110 1
|
3月前
|
Windows
windows 文件夹视图全局生效
【8月更文挑战第31天】在 Windows 中,要使文件夹视图设置全局生效,请先在一个文件夹中设置视图模式和排序方式等,然后点击“查看”选项卡中的“选项”按钮,打开“文件夹选项”,切换到“查看”选项卡,点击“应用到文件夹”按钮以确认设置。这样,大多数文件夹将采用相同视图。不过,部分特殊文件夹可能不遵循此设置。
|
4月前
|
Windows
windows 文件夹视图全局生效
【8月更文挑战第20天】在Windows中实现文件夹视图全局设置:首先调整任一文件夹的视图样式,如选择“大图标”或“详细信息”。接着设置排序和分组选项。随后,在该文件夹的“查看”选项卡中点击“选项”,在“文件夹选项”的“查看”标签下点击“应用到文件夹”。确认后,所有文件夹将采用相同视图。注意:特定文件夹可能不受此设置影响。
|
4月前
|
安全 C++ Windows
Windows下C++使用gRPC(Qt和VS,含文件包和使用方法)
Windows下C++使用gRPC(Qt和VS,含文件包和使用方法)
|
4月前
|
开发框架 .NET API
Windows Server 2022 安装IIS 报错 访问临时文件夹 C:\WINDOWS\TEMP\3C 读取/写入权限 错误: 0x80070005
Windows Server 2022 安装IIS 报错 访问临时文件夹 C:\WINDOWS\TEMP\3C 读取/写入权限 错误: 0x80070005
171 0
|
7月前
|
SQL 关系型数据库 MySQL
Trinitycore学习之windows上用cmake生成vs项目并尝试在windows上启动服务
Trinitycore学习之windows上用cmake生成vs项目并尝试在windows上启动服务
132 0
|
安全 测试技术 C++
Windows下C++使用gRPC(Qt和VS,含文件包和使用方法)
最近用到了gRPC,配置了很长时间,分享一下配置过程。先来看一下我准备的文件包(资源我放在最后)
Windows下C++使用gRPC(Qt和VS,含文件包和使用方法)
解决方案-CMake error: error in configuration process, project files may be invalid(Windows&VS可参考)
解决方案-CMake error: error in configuration process, project files may be invalid(Windows&VS可参考)
2696 0
|
7月前
|
存储 安全 搜索推荐
Windows之隐藏特殊文件夹(自定义快捷桌面程序)
Windows之隐藏特殊文件夹(自定义快捷桌面程序)
119 1
|
6月前
|
Windows
windows系统vbs脚本 提取文件夹中的所有文件名
windows系统vbs脚本 提取文件夹中的所有文件名
46 0