用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
1.如果你是做软件的升级或者是更新的话,你在装该软件或者运行的时候就把文件的存放目录记录下来(可保存在注册表中),这就可以避免在海量的硬盘是去找你要的Exe文件,浪费大量的时间。
2.然后做一个小工具去完成查找的工作,删除文件,把Exe拷到目录下
3.光驱盘符可以用程序判断,如果有多个光驱盘符的话就比较麻烦,判断那个准备好了没有,如果要做到完全智能的话,就把这个工具刻录到光盘里,在光驱里运行就什么都解决了
我是一菜鸟,不熟悉,你能不能贴出代码让我看看,谢谢了!!
我不是软件升级,就是在硬盘里找,你能不能也贴出相应代码。谢谢。
你用filesystemobject 在csdn里查一下就知道怎么做了。
要先引用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