精华内容
下载资源
问答
  • Windows遍历文件夹

    2019-01-09 21:29:32
    最近在弄遍历文件夹的事情,也了解一些情况。 调用FindFirstFile的结果是文件夹 "." 第一次调用FindNextFile的结果是文件夹 ".."   type LPSTR is access all String; type LPSTR_...

    最近在弄遍历文件夹的事情,也了解一些情况。

    调用FindFirstFile的结果是文件夹    "."

    第一次调用FindNextFile的结果是文件夹   ".."

     

       
       type LPSTR is access all String;
       type LPSTR_ARRAY is array(Natural range<>) of LPSTR;
       type PPSTRS is access all LPSTR_ARRAY;
    
       function GetFileName(s:String) return String is
       begin
          for i in s'Range loop
             if s(i)=Character'First then
                return s(s'First..i-1);
             end if;
          end loop;
          return s;
       end GetFileName;
    
       subtype FILETIME is QWord;
       type WIN32_FIND_DATAA is record
          FileAttributes     : DWORD;
          CreationTime       : FILETIME;
          LastAccessTime     : FILETIME;
          LastWriteTime      : FILETIME;
          FileSize           : QWORD:=0;
          Reserved0          : QWORD;
          FileName           : String (1 .. 260);
          AlternateFileName  : String (1 .. 14);
       end record with Pack;
       type lpWIN32_FIND_DATAA is access all WIN32_FIND_DATAA;
       
       function FindFirstFile(Path:String;pf:access WIN32_FIND_DATAA) return int with Import,Convention=>Stdcall,external_Name=>"FindFirstFileA";
       function FindNextFile(h:int;pf:access WIN32_FIND_DATAA) return int with Import,Convention=>Stdcall,external_name=>"FindNextFileA";
       function FindClose (hFindFile : int) return int with Import,Convention=>Stdcall,external_name=>"FindClose";
       
       
       function GetFileName(s:String) return String is
       begin
          for i in s'Range loop
             if s(i)=Character'First then
                return s(s'First..i-1);
             end if;
          end loop;
          return s;
       end GetFileName;
       
       --
       -- 获取目录中的子目录与文件
       --
       function GetDirFiles(s:String) return PPSTRS is
       begin
          if not IsExist(s) then
             return null;
          end if;
          
          declare
             fs:PPSTRS:=null;
             num:int:=0;
             handle:int;
             fi:WIN32_FIND_DATAA;
          begin
             
             handle:=FindFirstFile(s&"/*.*"&Character'First,fi'Unrestricted_Access);
             
             if handle=-1 then 
                return null;
             end if;
             
             if FindNextFile(handle,fi'Unrestricted_Access) /= 0 then
                null;
             end if;
             
             -- 第一个文件是 "." 文件夹
             -- 第二个文件是 ".."文件夹
             
             while (FindNextFile(handle,fi'Unrestricted_Access) /= 0) loop
                num:=num+1;
             end loop;
             
             fs:=new LPSTR_Array(1..Num);
             Num:=0;
             
             handle:=FindFirstFile(s&"/*.*"&Character'First,fi'Unrestricted_Access);
             if FindNextFile(handle,fi'Unrestricted_Access) /= 0 then
                null;
             end if;
                      
             while (FindNextFile(handle,fi'Unrestricted_Access) /= 0) loop
                num:=num+1;
                -- debug
                -- Put_Line(fi.cFileName(1..260));
                -- Ada.Text_IO.Put_Line(fi.nFileSize'img);
                if (fi.dwFileAttributes and 16#10#) = 16#10# then 
                   fs(num):=new String'(GetFileName(fi.cFileName)&"/");
                else
                   fs(num):=new String'(GetFileName(fi.cFileName));
                end if;
             end loop;
             
             handle:=FindClose(handle);
             
             return fs;
             
          end;
          
       end GetDirFiles;

     

     

     

    展开全文
  • C++实现遍历文件夹内的所有文件

    热门讨论 2013-11-28 15:32:34
    C++封装,可以遍历一个目录下以及所有子目录下的所有文件,并统计文件个数与子目录个数,遍历是通过迭代实现的。
  • 本篇文章主要介绍了shell 遍历文件夹内所有文件并打印绝对路径,具有一定的参考价值,有兴趣的可以了解一下。
  • Windows CMD 指令--遍历文件夹

    千次阅读 2021-04-10 11:48:22
    Windows CMD 指令–遍历文件夹 遍历文件夹 在.bat中 $ $ 代表变量,在命令行 $中代表变量 遍历某路径下所有文件夹 for /R %i in (d:*)do echo %i>>a.txt 遍历文件夹中文件运行某程序 遍历某路径下所有文件...

    Windows CMD 指令–遍历文件夹

    遍历文件夹

    在.bat中 $ $ 代表变量,在命令行 $中代表变量

    遍历某路径下所有文件夹

    for /R %i in (d:*)do echo %i>>a.txt

    遍历文件夹中文件运行某程序

    遍历某路径下所有文件写入txt

    for /f %i in (D:\qyj)do echo %i>>a.txt

    遍历当前路径下所有文件运行程序

    for /R %i in (*)do “C:\Users\test\Downloads\dos2unix-7.4.2-win64 (1)\bin\dos2unix.exe” %i

    展开全文
  •  if(tempFind.IsDirectory()) //找到的是文件夹,则遍历文件夹下的文件  {  strTmp="";  strTmp=tempFind.GetFilePath();  FindFile(strTmp);  }  else  {  ...

    1.使用网上最普通的方法

    find(char * lpPath)
    {
      char szFind[MAX_PATH];
      WIN32_FIND_DATA FindFileData;
      strcpy(szFind,lpPath);
      strcat(szFind,"*.*");
      HANDLE hFind=::FindFirstFile(szFind,&FindFileData);
      if(INVALID_HANDLE_VALUE == hFind)  return;
      while(TRUE)
      {
        if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
        {
          if(FindFileData.cFileName[0]!='.')
          {
            strcpy(szFile,lpPath);
            strcat(szFile,"");
            strcat(szFile,FindFileData.cFileName);
            find(szFile);
          }
        }
        else
        {
          cout << FindFileData.cFileName;
        }
        if(!FindNextFile(hFind,&FindFileData))  break;
      }
      FindClose(hFind);
    }

    2.利用CFileFind类较简洁的实现该功能

    void CModelDlg::FindBmpFile(CString strFoldername)<?XML:NAMESPACE PREFIX = O />

    {

        CString m_cstrFileList="";

        CFileFind tempFind;

        BOOL bFound; //判断是否成功找到文件

        bFound=tempFind.FindFile(strFoldername   +   "\\*.*");   /修改" "内内容给限定查找文件类型

        CString strTmp;   //如果找到的是文件夹 存放文件夹路径

        while(bFound)      //遍历所有文件

        {

            bFound=tempFind.FindNextFile(); //第一次执行FindNextFile是选择到第一个文件,以后执行为选择

                                                                  //到下一个文件

               if(!tempFind.IsDots()) continue; //如果找到的是返回上层的目录 则结束本次查找

              

                if(tempFind.IsDirectory())   //找到的是文件夹,则遍历该文件夹下的文件

                {

                    strTmp="";

                    strTmp=tempFind.GetFilePath();

                    FindFile(strTmp);

                }

                else

                {

                    strTmp=tempFind.GetFileName(); //保存文件名,包括后缀名

                     // 在此处添加对找到文件的处理

                   

                }

        }

        tempFind.Close();

        return;

    }

     

    展开全文
  • #include <io.h>#include <stdio.h>#include <iostream>using namespace std;int ReadStationID(char(*id)[50]){ struct _finddata_t c_file; long hFile; char *p = NULL; int i = 0;...

    #include <io.h>
    #include <stdio.h>
    #include <iostream>
    using namespace std;
    int ReadStationID(char(*id)[50])
    {
    struct _finddata_t c_file;
    long hFile;
    char *p = NULL;
    int i = 0;
    /* Find first .c file in current directory */
    if ((hFile = _findfirst("E:\\KJ_WORKDIR\\usr\\callsc_mtv\\zjcfgmn\\Station\\*.txt", &c_file)) == -1L)
    {
    printf("No *.txt files in current directory!\n");
    return -1;
    }
    if (c_file.name)
    sprintf(id[i++], "%s", strtok(c_file.name, "."));
    while (_findnext(hFile, &c_file) == 0)
    {
    sprintf(id[i++], "%s", strtok(c_file.name, "."));
    //printf(" %s\n", c_file.name);
    }
    _findclose(hFile);
    return 0;
    }
    int main()
    {
    char id[50][50] = {0};
    ReadStationID(id);
    for(int i = 0; i< 50; i++)
    {
    cout << id[i] << endl;
    }
    }

    转载于:https://www.cnblogs.com/xpylovely/p/11586474.html

    展开全文
  • dos_命令_bat命令_遍历文件夹目录树批量修改_后缀名
  • 递归实现遍历 void DIR_FUN(TCHAR* szPath) { if(!szPath) return; TCHAR szTmpPath[MAX_PATH] = {0}; HANDLE hHandle; WIN32_FIND_DATA wfd; StringCchCopy(szTmpPath, MAX_PATH, szPath); ...
  • windows遍历文件夹

    2020-01-15 14:20:19
    windows遍历文件夹 代码 #include <windows.h> #include <vector> #include <algorithm> #include <fstream> #include <sstream> #include <typeinfo> #include <string&...
  • windows 遍历文件夹

    2017-08-01 16:55:56
    https://msdn.microsoft.com/en-us/library/windows/desktop/aa364229(v=vs.85).aspx#对于遍历文件夹我们需要下面的函数HANDLE WINAPI FindFirstFile( _In_ LPCTSTR lpFileName, _Out_ LPWIN32_
  • Windows下,在VS中开发,C++遍历文件夹下文件。 在Windows下,遍历文件所用到的函数和结构体,需要在程序中包含头文件#include <io.h>,在VS中,头文件io.h实际上是包含了另一个头文件corecrt_io.h的,所以...
  • 采用c语言编程,递归遍历一个文件夹中的所有文件,包括子文件夹
  • python初学者使用,调用了os模块,os模块是用来进行文档操作,其中的walk —dir和os.walk 容易在编写的时候混淆
  • 本文实例为大家分享了C#遍历文件夹获取指定后缀名文件的具体代码,供大家参考,具体内容如下 问题描述: 项目需要,要进行某文件夹下所有shp数据的读取 解决方法: using System; using System.Collections.Generic...
  • 数据分多个文件存储,读取数据就需要对多个文件进行操作。首先就需要定位到文件的名字,之后再对文件进行相应...#include <Windows> #include #include #include using namespace std; #define MAX_PATH 1024 //最长
  • windows文件夹遍历

    千次阅读 2016-05-06 11:28:52
    文件夹的操作,是我们在编程中经常遇到的问题,在linux上和windows上经常会有文件夹操作的需求,典型的例子如遍历文件夹中的所有文件,在这两个系统中文件夹操作所提供的API也有所不同。  最近我老婆向我提了一个...
  • C++遍历文件夹遍历当前目录遍历当前目录及所有子目录重要说明 遍历当前目录 /**************************************** * 遍历当前目录下的文件夹和文件,默认是按字母顺序遍历 **********************************...
  • 这篇文章主要介绍了 C++ 遍历文件夹下所有文件的多种方法,需要的朋友可以参考下 文章目录C++ 遍历文件夹下所有文件的多种方法一、实现方法一二、实现方法二三、实现方法三四、实现方法四 C++ 遍历文件夹下所有文件...
  • 前面我给出了windows下面指定文件夹下面指定类型文件的遍历程序,这里,再给出遍历指定文件夹下的所有子文件夹的程序: #include "stdafx.h" #include #include #include #include "iostream" using namespace ...
  • c语言--windows遍历目录

    万次阅读 2018-04-18 18:55:10
    #include <windows.h> #include #include int main() { WIN32_FIND_DATA ffd; TCHAR szDir[MAX_PATH] = _T( "D:\\aaa\\*" ); HANDLE hFind = INVALID_HANDLE_VALUE; LARGE_INTEGER filesize; hFind ...
  • 这个需求非常常见,例如批量转换文件格式等等,代码如下: @echo off ::对变量动态捕获扩展变化 ...::遍历文件夹下的PDF,并把后缀改成txt for %%c in (.\pdf\*.pdf) do ( set pdfpath=%%c set txtpath=%...
  • Windows文件夹下的所有文件名提取到文本文件,直接下载后放到当前文件夹中,点击运行,即可提取所有文件的文件名到txt文件中。
  • windows遍历文件夹代码

    2017-04-11 12:01:16
    #include #include #include #include using namespace std;...//遍历文件夹函数 void traverseFolder(char *pszDir, setstring> &fileSet) { WIN32_FIND_DATA fileData; HANDLE hFind = ::FindFirstFile(pszDir,
  • C++遍历文件夹文件(Qt和Windows两种遍历)** Qt遍历文件夹文件 //利用Qt遍历 QStringList ErgodicFile::fErgodicFile(const QString &amp;config) { //判断路径是否存在 QDir dir(config); if(!dir.exists()...
  • void TraverseDir( CString strDir, CAtlArray<CString>& arrFilePaths) { HANDLE hFile; if (!DataConvert::StringEqual(strDir.Right(1), _T("\\"))) strDir.Append(_T("\\"));... CString strSearch = ...
  • dos遍历文件夹,把文件写入同一文件中 在dos命令下,我们能够直接对文件夹进行遍历操作,遍历的同时能够对文件进行操作。 下面是代码: set work_path=E:\xysandbox\ccc\ E: cd %work_path% for /R %%s in (.,*...
  • //将windows中的文件编码转译为GBK 不然中文文件会乱码 if($file != '.' && $file != '..'){ //避免把$dir的父级目录也读取出来 if(is_dir($temp)){ $files[$file] = getFiles($temp); //如果是...
  • linux下遍历文件夹下的文件

    千次阅读 2018-07-03 19:35:13
    工作中经常用到遍历文件夹,下面的三个小函数可能会对您遍历文件夹提供一些思路,代码都是在linux下环境中测试通过的,Qt版和boost版理论上在windows也能编译通过,请自己测试使用。 一、linux C版 // 查找文件夹...
  • Linux服务器有CentOS、Fedora等,都预先安装了Python,版本从2.4到2.5不等,而Windows类型的服务器也多数安装了Python,因此只要在本机写好一个脚本,上传到对应机器,在运行时修改参数即可。 Python操作文件和...
  • 这两天一直在学习如何使用c++遍历文件夹、读取文件内容和写入文件。 话不多说,直接上代码   /* * 文件功能:递归遍历文件夹,遍历文件夹及其子文件夹和文件.打印文件夹名称、文件名称和文件数目 * * * 参考:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,901
精华内容 14,760
关键字:

windows遍历文件夹