PC端文件及目录的管理总结

本文总结了PC端文件和目录的管理操作,包括新建、删除、拷贝、剪切、粘贴、移动和更名。对于文件,介绍了如何使用CopyFile函数实现拷贝,同时提到了对空文件拷贝的限制。对于目录,删除操作涉及到递归删除子目录,拷贝和移动涉及路径变更。重命名文件和目录可通过rename函数实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 最近一个项目要处理的是PC机上文件及目录的管理。无非就是文件的新建、删除、拷贝、剪切、粘贴、移动、更名,目录的创建、删除、拷贝、剪切、粘贴、移动、更名操作。主要设计文件和目录两个对象,每个对象包含对应的方法。

一、文件

        新建:创建一个由客户输入带文件扩展名的文件;删除:直接删除鼠标选中的文件;拷贝:将选中文件的路径拷贝到剪贴板中,附加一个拷贝标志;剪切:将选中的文件路径拷贝到剪贴板中,附加一个剪切标志;粘贴:将剪贴板中文件路径的文件粘贴到当前路径,并根据拷贝或剪切标志决定是否删除源文件;移动:和剪切一个文件类似,不过可能是直接操作目录链接的方式;更名:直接更改文件名称;

二、目录

        创建:创建一个客户输入名称的文件夹;删除:先删除目录中的所有文件,如果还有子目录则先递归到最下级子目录,删除子目录中的所有文件,然后一级一级回到主目录,最后删除该空目录;拷贝:将选中目录的路径拷贝到剪贴板中,附加一个拷贝标志;剪切:将选中的目录路径拷贝到剪贴板中,附加一个剪切标志;粘贴:将剪贴板中的目录路径粘贴到当前路径,并根据拷贝或剪切标志决定是否删除源目录,如果要删除源目录和删除目录处理过程一致;移动:更改目录的链接路径;更名:直接更改目录名称;

拷贝文件和目录代码:

void    CopyAllFileAndFolder(CString   strDest)   
{   
    ::CreateDirectory((LPCTSTR)strDest,NULL);   
    
    WIN32_FIND_DATA   wfd;   
    HANDLE   hFile
=::FindFirstFile(_T("*.*"),&wfd);   
    
if(hFile!=INVALID_HANDLE_VALUE)   
    
{   
        
do   
        
{   
          CString   strFileName
=wfd.cFileName;   
          
if(wfd.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)   
          
{   
                  CString   strFolderName
=wfd.cFileName;   
                  
if(strFolderName!=_T(".")&&strFolderName!=_T(".."))   
                  
{   
              ::SetCurrentDirectory(wfd.cFileName);   
              CopyAllFileAndFolder(strDest
+_T("/"+strFolderName);   
              ::SetCurrentDirectory(_T(
".."));   
                  }
   
          }
   
          
else   
          
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值