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系统批量创建文件夹的技巧
120 1
|
3月前
|
Windows
windows 文件夹视图全局生效
【8月更文挑战第31天】在 Windows 中,要使文件夹视图设置全局生效,请先在一个文件夹中设置视图模式和排序方式等,然后点击“查看”选项卡中的“选项”按钮,打开“文件夹选项”,切换到“查看”选项卡,点击“应用到文件夹”按钮以确认设置。这样,大多数文件夹将采用相同视图。不过,部分特殊文件夹可能不遵循此设置。
|
3月前
|
Windows
Windows7电脑启动时提示文件winload.exe无法验证其数字签名,错误代码0xc0000428的解决方法
Windows7电脑启动时提示文件winload.exe无法验证其数字签名,错误代码0xc0000428的解决方法
|
4月前
|
Windows
windows 文件夹视图全局生效
【8月更文挑战第20天】在Windows中实现文件夹视图全局设置:首先调整任一文件夹的视图样式,如选择“大图标”或“详细信息”。接着设置排序和分组选项。随后,在该文件夹的“查看”选项卡中点击“选项”,在“文件夹选项”的“查看”标签下点击“应用到文件夹”。确认后,所有文件夹将采用相同视图。注意:特定文件夹可能不受此设置影响。
|
4月前
|
Java Windows
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
|
3月前
|
Linux 开发者 Python
从Windows到Linux,Python系统调用如何让代码飞翔🚀
【9月更文挑战第10天】在编程领域,跨越不同操作系统的障碍是常见挑战。Python凭借其“编写一次,到处运行”的理念,显著简化了这一过程。通过os、subprocess、shutil等标准库模块,Python提供了统一的接口,自动处理底层差异,使代码在Windows和Linux上无缝运行。例如,`open`函数在不同系统中以相同方式操作文件,而`subprocess`模块则能一致地执行系统命令。此外,第三方库如psutil进一步增强了跨平台能力,使开发者能够轻松编写高效且易维护的代码。借助Python的强大系统调用功能,跨平台编程变得简单高效。
66 0
|
4月前
|
开发者 C# Windows
WPF与游戏开发:当桌面应用遇见游戏梦想——利用Windows Presentation Foundation打造属于你的2D游戏世界,从环境搭建到代码实践全面解析新兴开发路径
【8月更文挑战第31天】随着游戏开发技术的进步,WPF作为.NET Framework的一部分,凭借其图形渲染能力和灵活的UI设计,成为桌面游戏开发的新选择。本文通过技术综述和示例代码,介绍如何利用WPF进行游戏开发。首先确保安装最新版Visual Studio并创建WPF项目。接着,通过XAML设计游戏界面,并在C#中实现游戏逻辑,如玩家控制和障碍物碰撞检测。示例展示了创建基本2D游戏的过程,包括角色移动和碰撞处理。通过本文,WPF开发者可更好地理解并应用游戏开发技术,创造吸引人的桌面游戏。
225 0
|
4月前
|
C# Windows 开发者
当WPF遇见OpenGL:一场关于如何在Windows Presentation Foundation中融入高性能跨平台图形处理技术的精彩碰撞——详解集成步骤与实战代码示例
【8月更文挑战第31天】本文详细介绍了如何在Windows Presentation Foundation (WPF) 中集成OpenGL,以实现高性能的跨平台图形处理。通过具体示例代码,展示了使用SharpGL库在WPF应用中创建并渲染OpenGL图形的过程,包括开发环境搭建、OpenGL渲染窗口创建及控件集成等关键步骤,帮助开发者更好地理解和应用OpenGL技术。
343 0
|
4月前
|
存储 开发者 C#
WPF与邮件发送:教你如何在Windows Presentation Foundation应用中无缝集成电子邮件功能——从界面设计到代码实现,全面解析邮件发送的每一个细节密武器!
【8月更文挑战第31天】本文探讨了如何在Windows Presentation Foundation(WPF)应用中集成电子邮件发送功能,详细介绍了从创建WPF项目到设计用户界面的全过程,并通过具体示例代码展示了如何使用`System.Net.Mail`命名空间中的`SmtpClient`和`MailMessage`类来实现邮件发送逻辑。文章还强调了安全性和错误处理的重要性,提供了实用的异常捕获代码片段,旨在帮助WPF开发者更好地掌握邮件发送技术,提升应用程序的功能性与用户体验。
77 0
|
4月前
|
iOS开发 Android开发 MacOS
从零到全能开发者:解锁Uno Platform,一键跨越多平台应用开发的神奇之旅,让你的代码飞遍Windows、iOS、Android、macOS及Web,技术小白也能秒变跨平台大神!
【8月更文挑战第31天】从零开始,踏上使用Uno Platform开发跨平台应用的旅程。只需编写一次代码,即可轻松部署到Windows、iOS、macOS、Android及Web(通过WASM)等多个平台。Uno Platform为.NET生态带来前所未有的灵活性和效率,简化跨平台开发。首先确保安装了Visual Studio或VS Code及.NET SDK,然后选择合适的项目模板创建新项目。项目结构类似传统.NET MAUI或WPF项目,包含核心NuGet包。通过简单的按钮示例,你可以快速上手并构建应用。Uno Platform让你的技术探索之旅充满无限可能。
100 0