【问题标题】:Stop a VBS Script filling up temp Internet files停止填充临时 Internet 文件的 VBS 脚本
【发布时间】:2020-01-11 17:32:08
【问题描述】:

我有一个快速创建大量 Internet 临时文件的 .vbs 脚本。我怎样才能减少这种情况?它是一个 Windows Server 2016 盒子

我尝试使用 IE > 工具 > 临时 Intranet 文件对此进行限制....但这不起作用。我怀疑它是因为实际的浏览器没有被打开。 .vbs 文件由每小时的 Windows 计划任务触发。它使用 HTTP 协议连接到 XML 源,如下所示:

Set objxml = CreateObject("Msxml2.DOMDocument")
objxml.setProperty "SelectionLanguage", "XPath"
objXML.async =  False
objXML.Load url 

然后它遍历 XML,将数据插入数据库,然后完成。这样做的结果是该位置每小时大约有 40MB 的文件:

C:\Users\[theUser]\AppData\Local\Microsoft\Windows\INetCache\IE

正如我上面所说的。我已以 [theUser] 身份登录服务器并将上限设置为 200MB,但它不遵守此规定。我怎样才能阻止这个过程破坏 [theUser] 的临时 Internet 文件位置?

已编辑:如果您不在代理 IMO 之后,则接受的解决方案会更好。我选择以高权限运行 WST 并这样做:

 call dumpAllFilesInFolder("C:\Users\[theUser]\AppData\Local\Microsoft\Windows\INetCache\IE")
 function dumpAllFilesInFolder(theFullPath)
    dim objFS, curFile, objFolder, objFiles
    Set objFS = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFS.GetFolder(theFullPath) 
    Set objFiles = objFolder.Files
    For each curFile in objFiles
        objFS.DeleteFile(curFile)
    Next
end function

【问题讨论】:

    标签: windows vbscript scheduled-tasks batch-processing temporary-files


    【解决方案1】:

    除非另有说明,否则 DOMDocument 使用主要为用户交互应用程序开发的 WinINET API。导致您遇到的问题的缓存文件是由于WinINET's cache behavior而创建的,简而言之:所有可以缓存的东西都必须缓存。

    您也可以通过将ServerHTTPRequest 属性设置为True 来强制DomDocument 对象使用WinHTTP。与 WinINET 不同,WinHTTP 是为服务器端应用程序设计的,因此不会缓存任何内容。似乎更适合您的环境。

    Set objxml = CreateObject("Msxml2.DOMDocument")
    objxml.setProperty "SelectionLanguage", "XPath"
    objxml.setProperty "ServerHTTPRequest", True
    objXML.async = False
    objXML.Load url 
    

    相关链接

    【讨论】:

    • 谢谢,我现在试试这个,看看 ti 是否会阻止 dir 填满。如果可行,它似乎是一个完美的解决方案。感谢您的宝贵时间和建议!
    • 在仔细检查脚本后,在代理后面会出现以下 XML 解析错误。错误:发生 XML ParseError:系统错误:-2147012889。
    • @Mat41 看看Remarks 部分docs.microsoft.com/en-us/previous-versions/windows/desktop/… 在页面上搜索Intranet
    • 谢谢。我一直在阅读这篇文章,由于我的环境,需要一个 proxycfg.exe 实用程序。我选择以更高的权限运行脚本,而不是配置 proxycfg。现在我只需使用 FSO 连接和转储临时 Internet 文件目录。这运作良好。您的解决方案仍然值得支持,因为如果没有代理,它就是一个很棒的解决方案。谢谢你
    • 我看到@Mat41 你知道什么最适合你。不客气。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-27
    • 1970-01-01
    • 1970-01-01
    • 2017-01-08
    • 2013-09-12
    • 1970-01-01
    • 2018-10-25
    相关资源
    最近更新 更多