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)
返回的值。
常量:TemporaryFolder
值:2
Temp文件夹用于存储临时文件。其路径位于TMP
环境变量中。
由于GetSpecialFolder(2)
将始终返回一个现有的目录路径,因此我可能会以为这是环境所致的想法来使用它。的Autodesk Revit
。
除此之外,如果我想要通常的临时路径,我将使用以下类似的内容,因为即使它们很少见,在有些安装中系统驱动器也没有C:
。依靠%localappdata%
这种方式更有意义。
Set WshShell = CreateObject("Wscript.Shell")
TempPath = WshShell.ExpandEnvironmentStrings("%localappdata%\Temp")
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句