• 大小: 1.43MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-29
  • 语言: C/C++
  • 标签:

资源简介

只有1个.cpp文件。但可以遍历磁盘,并将结果输出到文件。功能很强大,绝对好用。 使用方法: 运行程序: 首先输入要遍历的目录: 比如: C:\ 或者 C:\Windows 然后,输入你要存储这些记录的.txt文件,比如 D:\result.txt (需要提前建立好) 然后就等待程序结果吧。 当然,如果有自己的需要可以自己进行修改。

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;

#ifdef _UNICODE
#define TCHAR wchar
#else
#define TCHAR char
#endif

//file stream 
fstream fStream;

//count the total file number in the directory 
static int fileCount=0;

void file_scan(char* root)
{

char filePath[MAX_PATH];
    char tmpPath[MAX_PATH];
char filePath_Name[MAX_PATH];
    
memset(filePath0MAX_PATH);
    memset(tmpPath0MAX_PATH);
memset(filePath_Name0MAX_PATH);


    WIN32_FIND_DATA fd;
    memset(&fd0sizeof(WIN32_FIND_DATA));

    HANDLE hSearch;

    strcpy(filePath root);

    BOOL bSearchFinished = FALSE;

    if( filePath[strlen(filePath) -1] != ‘\\‘ )
    {
strcat(filePath “\\“);
}

    strcat(filePath “*“);
    hSearch = FindFirstFile(filePath &fd);

    
// the file is a dir  its name should not be ‘.‘‘..‘ and not begin with ‘$‘
    if( (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
&& (fd.cFileName[0]!=‘.‘) &&(fd.cFileName[0]!=‘$‘) )      
    {
strcpy(tmpPath root);
strcat(tmpPath fd.cFileName);

//recursion
file_scan(tmpPath);
    }

// normal file
    else if( strcmp(fd.cFileName “.“) && strcmp(fd.cFileName “..“)&& fd.cFileName[0]!=‘$‘)
    {

strcpy(filePath_Nameroot);
strcat(filePath_Name“\\“);
strcat(filePath_Namefd.cFileName);

struct _stat fileinfo;  
_stat(filePath_Name &fileinfo);  


char buf[20];
memset(buf020);
_ui64toa(fileinfo.st_sizebuf+210);
//插入两个空格
buf[0]=0x20;
buf[1]=0x20;
fStream.write(filePath_Namestrlen(filePath_Name));

fStream.write(bufstrlen(buf));
fStream.write(“\r\n“2);

memset(filePath_Name0MAX_PATH);

cout<
++fileCount;
    }


    while( !bSearchFinished )
    {
if( FindNextFile(hSearch &fd) )
{
if( (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
&& strcmp(fd.cFileName “.“) && strcmp(fd.cFileName “..“) )      
{
strcpy(tmpPath root);
memset(tmpPath+strlen(tmpPath)0MAX_PATH-strlen(tmpPath));
if(tmpPath[strlen(tmpPath)]!=‘\\‘)
{
tmpPath[strlen(tmpPath)]=‘\\‘;
tmpPath[strlen(tmpPath)+1]=‘\0‘;
}

strcat(tmpPath fd.cFileName);
file_scan(tmpPath);
}

else if(strcmp(fd.cFileName “.“) && strcmp(fd.cFileName “..“)&& fd.cFileName[0]!=‘$‘)
{
strcpy(filePath_Nameroot);
strcat(filePath_Name“\\“);
strcat(filePath_Namefd.cFileName);

struct _stat fileinfo;  
_stat(filePath_Name &fileinfo);  


char buf[20];
memset(buf020);
_i64toa(fileinfo.st_sizebuf+210);
//插入两个空格
buf[0]=0x20;
buf[1]=0x20;
fStream.write(filePath_Namestrlen(filePath_Name));

fStream.write(bufstrlen(buf));
fStream.write(“

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-11-09 09:33  File_Scan\
     目录           0  2011-10-12 19:43  File_Scan\Debug\
     文件      304459  2011-10-12 19:43  File_Scan\Debug\FileScan.obj
     文件      573508  2011-10-12 19:43  File_Scan\Debug\File_Scan.exe
     文件      830640  2011-10-12 19:43  File_Scan\Debug\File_Scan.ilk
     文件     1997432  2011-10-12 09:43  File_Scan\Debug\File_Scan.pch
     文件     1164288  2011-10-12 19:43  File_Scan\Debug\File_Scan.pdb
     文件      205824  2011-10-12 19:43  File_Scan\Debug\vc60.idb
     文件      143360  2011-10-12 19:43  File_Scan\Debug\vc60.pdb
     文件        4042  2011-10-12 19:43  File_Scan\FileScan.cpp
     文件        4319  2011-10-12 10:15  File_Scan\File_Scan.dsp
     文件         543  2011-10-12 09:42  File_Scan\File_Scan.dsw
     文件       41984  2011-11-09 09:33  File_Scan\File_Scan.ncb
     文件       49664  2011-11-09 09:33  File_Scan\File_Scan.opt
     文件        1311  2011-10-12 19:43  File_Scan\File_Scan.plg
     目录           0  2011-10-13 10:30  File_Scan\for develop\
     文件      573508  2011-10-12 19:43  File_Scan\for develop\File_Scan.exe
     文件        4957  2011-10-13 09:09  File_Scan\for develop\game.txt
     文件      184964  2011-10-13 08:28  File_Scan\for develop\knowledge.txt
     文件      298110  2011-10-13 08:29  File_Scan\for develop\movie.txt
     文件       74923  2011-10-13 08:30  File_Scan\for develop\music.txt
     文件       57664  2011-10-13 10:30  File_Scan\for develop\tools.txt
     文件       57963  2011-10-13 09:24  File_Scan\for develop\tools.txt.bak
     文件        8931  2011-10-13 08:31  File_Scan\for develop\video.txt
     文件         570  2011-06-07 14:03  File_Scan\for develop\welcome.txt

评论

共有 条评论

相关资源