win78787
2016-12-20 08:31
采纳率: 80%
浏览 998
已采纳

vb6.0 判断文件名做出操作

例如,判断目录中的图片文件,目录固定,文件不固定
A_1.jpg 下划线后面写1就执行代码,printform
A_2.JPG 下划线后面写2就执行代码,两次printform

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • hdxxiang 2016-12-20 12:14
    已采纳

    不好意思,刚刚太急发错代码了,更正的如下:
    void RecursiveFindFileByName(CString folderPath)
    {
    CFileFind ff;
    CString szDir = folderPath;
    if(szDir.Right(1) != _T("\"))
    szDir += _T("\");
    szDir += _T("*.*");

    BOOL res = ff.FindFile(szDir);
    
    CString strFileName,strFilePath;
    
    while(res) //遍历本级文件夹下的所有文件
    { 
        res = ff.FindNextFile();
        strFilePath = ff.GetFilePath();//获取文件路径
        strFileName = ff.GetFileName();   //获取文件名
        if (ff.IsDirectory() && !ff.IsDots())//如果是文件夹
        {
            RecursiveFindFileByName(strFilePath);//递归查询子目录
        }else if (wcsstr(strFileName,_T("_1.jpg")) != NULL)//文件
        {
            //操作
        }else if (wcsstr(strFileName,_T("_2.jpg")) != NULL)//文件
        {
            //操作
        }
    }
    
    点赞 打赏 评论
  • shen_wei 2016-12-20 08:40
    点赞 打赏 评论
  • hdxxiang 2016-12-20 12:04

    递归查询一下目录就可,代码如下
    void RecursiveFindFileByName(CString folderPath,fileName)
    {
    CFileFind ff;
    CString szDir = path;
    if(szDir.Right(1) != _T("\"))
    szDir += _T("\");
    szDir += _T("*.*");
    CString strFolderPath;
    BOOL res = ff.FindFile(szDir);
    Sleep(10);
    m_VideoLists.SetTextColor(RGB(0,0,0));
    m_VideoLists.Invalidate(true);

    while( res ) //遍历本级文件夹下的所有文件,并将其名称显示在列表控件中
    { 
        res = ff.FindNextFile();
        CString strFileName,strFilePath;
        strFilePath = ff.GetFilePath();
    
        strFileName = ff.GetFileName();   //获取文件名
        if (ff.IsDirectory() && !ff.IsDots())//文件夹
        {
            if (m_FolderCheck.GetCheck() == 1)
            {
                RecursiveFindAudios(strFilePath,fileName);//递归查询子目录
            }
        }else if (strcmp(fileName,strFileName) == 0)//文件
        {
       //操作
        }
    }
    

    }

    点赞 打赏 评论

相关推荐 更多相似问题