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月前
|
安全 生物认证 网络安全
windows10无法设置默认保存位置怎么办?显示错误代码0x80070002怎么解决?
Win10系统下载文件时,默认会保存在特定位置,但用户可自行修改。若更改后仍无效,可通过删除目标磁盘中的特定文件夹、修改注册表权限、“干净启动”排除干扰软件或使用第三方修复工具等方式解决此问题。
767 0
|
2月前
|
Windows
office出现0xc0000142错误?windows错误代码为0xc0000142?
office出现0xc0000142错误?windows错误代码为0xc0000142?
102 0
|
Linux Windows
Windows系统批量创建文件夹的技巧
Windows系统批量创建文件夹的技巧
417 1
|
Linux 开发者 Python
从Windows到Linux,Python系统调用如何让代码飞翔🚀
【9月更文挑战第10天】在编程领域,跨越不同操作系统的障碍是常见挑战。Python凭借其“编写一次,到处运行”的理念,显著简化了这一过程。通过os、subprocess、shutil等标准库模块,Python提供了统一的接口,自动处理底层差异,使代码在Windows和Linux上无缝运行。例如,`open`函数在不同系统中以相同方式操作文件,而`subprocess`模块则能一致地执行系统命令。此外,第三方库如psutil进一步增强了跨平台能力,使开发者能够轻松编写高效且易维护的代码。借助Python的强大系统调用功能,跨平台编程变得简单高效。
250 1
|
Windows
windows 文件夹视图全局生效
【8月更文挑战第31天】在 Windows 中,要使文件夹视图设置全局生效,请先在一个文件夹中设置视图模式和排序方式等,然后点击“查看”选项卡中的“选项”按钮,打开“文件夹选项”,切换到“查看”选项卡,点击“应用到文件夹”按钮以确认设置。这样,大多数文件夹将采用相同视图。不过,部分特殊文件夹可能不遵循此设置。
280 3
|
Windows
windows 文件夹视图全局生效
【8月更文挑战第20天】在Windows中实现文件夹视图全局设置:首先调整任一文件夹的视图样式,如选择“大图标”或“详细信息”。接着设置排序和分组选项。随后,在该文件夹的“查看”选项卡中点击“选项”,在“文件夹选项”的“查看”标签下点击“应用到文件夹”。确认后,所有文件夹将采用相同视图。注意:特定文件夹可能不受此设置影响。
340 3
|
Java Windows
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
182 1
Windows7电脑启动时提示文件winload.exe无法验证其数字签名,错误代码0xc0000428的解决方法
Windows7电脑启动时提示文件winload.exe无法验证其数字签名,错误代码0xc0000428的解决方法
|
开发者 C# Windows
WPF与游戏开发:当桌面应用遇见游戏梦想——利用Windows Presentation Foundation打造属于你的2D游戏世界,从环境搭建到代码实践全面解析新兴开发路径
【8月更文挑战第31天】随着游戏开发技术的进步,WPF作为.NET Framework的一部分,凭借其图形渲染能力和灵活的UI设计,成为桌面游戏开发的新选择。本文通过技术综述和示例代码,介绍如何利用WPF进行游戏开发。首先确保安装最新版Visual Studio并创建WPF项目。接着,通过XAML设计游戏界面,并在C#中实现游戏逻辑,如玩家控制和障碍物碰撞检测。示例展示了创建基本2D游戏的过程,包括角色移动和碰撞处理。通过本文,WPF开发者可更好地理解并应用游戏开发技术,创造吸引人的桌面游戏。
744 0
|
C# Windows 开发者
当WPF遇见OpenGL:一场关于如何在Windows Presentation Foundation中融入高性能跨平台图形处理技术的精彩碰撞——详解集成步骤与实战代码示例
【8月更文挑战第31天】本文详细介绍了如何在Windows Presentation Foundation (WPF) 中集成OpenGL,以实现高性能的跨平台图形处理。通过具体示例代码,展示了使用SharpGL库在WPF应用中创建并渲染OpenGL图形的过程,包括开发环境搭建、OpenGL渲染窗口创建及控件集成等关键步骤,帮助开发者更好地理解和应用OpenGL技术。
1081 0