都不难实现,可以按你分的三步来写,搜索一下csdn上的例子,都有的。

解决方案 »

  1.   

    一点思路:
    1.如果你是做软件的升级或者是更新的话,你在装该软件或者运行的时候就把文件的存放目录记录下来(可保存在注册表中),这就可以避免在海量的硬盘是去找你要的Exe文件,浪费大量的时间。
    2.然后做一个小工具去完成查找的工作,删除文件,把Exe拷到目录下
    3.光驱盘符可以用程序判断,如果有多个光驱盘符的话就比较麻烦,判断那个准备好了没有,如果要做到完全智能的话,就把这个工具刻录到光盘里,在光驱里运行就什么都解决了
      

  2.   

    To: minajo21(大眼睛) 
    我是一菜鸟,不熟悉,你能不能贴出代码让我看看,谢谢了!!
      

  3.   

    TO: wu_yongcai(浪人) 
    我不是软件升级,就是在硬盘里找,你能不能也贴出相应代码。谢谢。
      

  4.   

    不会吧,这样都可以要代码?
    你用filesystemobject 在csdn里查一下就知道怎么做了。
      

  5.   

    用fso的方法遍历目录
    要先引用scripting runtime库
    然后用如下代码分别遍历你的硬盘的各个逻辑盘!例如:CheckFolder("c:")......
    Option Explicit
    Dim m_lngFileCount As Long '注释:定义计数器
    Dim m_objFSO As Scripting.FileSystemObject '注释:定义文件系统对象Sub CheckFolder(strPath As String)    Dim objFolder As Scripting.Folder '注释:文件夹对象
        Dim objFile As Scripting.File '注释:文件对象
        Dim objSubdirs As Scripting.Folders '注释:文件夹集合对象
        Dim objLoopFolder As Scripting.Folder '注释:文件夹对象
        Set objFolder = m_objFSO.GetFolder(strPath)
       
        For Each objFile In objFolder.Files        If UCase$(Right$(objFile.Path, 4)) = "123.exe" Or UCase$(Right$(objFile.Path, 4)) = "123.EXE" Then
           
                m_lngFileCount = m_lngFileCount + 1
            End If
        Next objFile
        
        Set objSubdirs = objFolder.SubFolders
        For Each objLoopFolder In objSubdirs
            CheckFolder objLoopFolder.Path
        Next objLoopFolder
        
        Set objSubdirs = Nothing
        Set objFolder = NothingEnd Sub