VBScript获取临时文件夹

高登

fso.GetSpecialFolder(2)从VBS文件运行时,正确为我返回了temp文件夹。但是,当从以前一直符合VBS的Autodesk Revit日志文件中运行时,我会在Temp之后获得正确的路径和GUID。我以前从未见过,我不确定这是否可能是较新版本的Windows 10中的一个已知问题(自测试以来已经过去了大约三年),或者这更可能是Autodesk的VBScript支持实现问题?我怀疑是后者。这就提出了一个问题,是否还有另一种好的方法可以在VBScript中获得完整的临时路径?我可以用

Dim strUser : strUser = CreateObject("WScript.Network").UserName
"C:\Users\" & strUser & "\AppData\Local\Temp"

自从我玩VBS以来已经很久了,我不记得是否有更好的答案,或者这是一贯可行的方法。而且,我想知道的.GetSpecialFolder(2)是Windows是否以某种方式或仅是Autodesk损坏了所有内容。

库尔丁金

在不同的环境/脚本宿主上具有不同的值是否合乎逻辑?

GetSpecialFolder(2)只需返回名为的流程环境变量TMP该变量的任何更改-相当合法-都会影响GetSpecialFolder(2)返回的值

GetSpecialFolder方法

常量:TemporaryFolder
值:2
Temp文件夹用于存储临时文件。其路径位于TMP环境变量中。

由于GetSpecialFolder(2)将始终返回一个现有的目录路径,因此我可能会以为这是环境所致的想法来使用它。Autodesk Revit

除此之外,如果我想要通常的临时路径,我将使用以下类似的内容,因为即使它们很少见,在有些安装中系统驱动器也没有C:依靠%localappdata%这种方式更有意义。

Set WshShell = CreateObject("Wscript.Shell")
TempPath = WshShell.ExpandEnvironmentStrings("%localappdata%\Temp")

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章