我正在构建一个脚本,在办公室安装目录中搜索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
答案 0 :(得分:0)
发现问题 - 这个:
fileLocation=Session.Property("OFFICEPATH")
需要一个尾随斜杠:
fileLocation=Session.Property("OFFICEPATH")+"\"
由于某种原因,没有尾部斜线的文件没有被拾取。