搜索2个文件并将其删除VBScript

时间:2015-08-17 11:14:05

标签: vbscript

我正在构建一个脚本,在办公室安装目录中搜索2 * .dot文件(1.dot& 2.dot)如果发现它们将删除它们。

我将如何管理?它必须在VBScript中

注意:我已经搜索了已安装的办公室版本并返回基本安装路径(IE:C:\ Program Files \ Microsoft Office%Version%)所以我需要它从那里搜索文件

以下是我目前用来查找这些文件的内容(但没有运气 - 它会返回所有* .dot文件)

dim sFilename

Dim objDict
Set objDict=CreateObject("Scripting.Dictionary")
sFilename = ""

fileLocation=Session.Property("OFFICEPATH") 'this is a stored path from InstallShield = C:\Program Files\Microsoft Office %Version%\

Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")

Call Recurse(fileLocation)



ItemArray = objDict.Items


For i = 0 To objDict.count -1
    sFilename = sFilename & ItemArray(i) & VBCRLF
Next 

msgbox(sFilename)

'find a specific file by name and return path 
if objDict.Exists("1.dot") then 
    msgbox(objDict.Item("1.dot")) 
end if

'find a specific file by name and return path 
if objDict.Exists("2.dot") then 
    msgbox(objDict.Item("2.dot")) 
end if


Sub Recurse(strFolderPath)
    Dim objFolder
    Set objFolder = objFSO.GetFolder(strFolderPath)
    Dim objFile
    Dim objSubFolder

    For Each objFile In objFolder.Files
        If (InStr(objFile.Name, ".") > 0) Then

            If (LCase(Mid(objFile.Name, InStrRev(objFile.Name, "."))) = ".dot") Then 
                if objDict.Exists(objFile.Name)=false then 
                objDict.Add objFile.Name,objfile.Path 
                End if 
            End if 
        End If 
    Next

    For Each objSubFolder In objFolder.SubFolders
        Call Recurse(objSubFolder.Path)
    Next
End Sub

1 个答案:

答案 0 :(得分:0)

发现问题 - 这个:

fileLocation=Session.Property("OFFICEPATH")

需要一个尾随斜杠:

fileLocation=Session.Property("OFFICEPATH")+"\"

由于某种原因,没有尾部斜线的文件没有被拾取。