获取SYSTEM临时文件夹?

时间:2009-11-05 11:54:48

标签: vbscript filesystems

我正在寻找与this question类似的东西。但是,我正在寻找动态查找系统临时文件夹的位置(即服务使用的临时文件夹)。

这可能吗?

谢谢,

6 个答案:

答案 0 :(得分:2)

你去(在VBS中)

Set environmentVars = WScript.CreateObject("WScript.Shell").Environment("Process")
tempFolder = environmentVars("TEMP")
msgbox(tempFolder)

我不确定你的系统是否有一个名为“TEMP”的环境变量,所以转到命令行并输入

set

您将获得环境变量列表及其值。选择包含临时文件夹的那个。

答案 1 :(得分:1)

Set objShell = CreateObject("WScript.Shell")
Set colEnvironment = objShell.Environment("PROCESS")
objPath = colEnvironment("temp")
WScript.Echo objPath    

在那种情况下

Set objShell = CreateObject("WScript.Shell")
Set colEnvironment = objShell.Environment("PROCESS")
objPath = colEnvironment("windir")
WScript.Echo objPath & "\temp"    

希望这会有所帮助

答案 2 :(得分:1)

在研究了一下后,我相信没有办法使用环境变量来捕获另一个用户的%TEMP%文件夹(在本例中为系统用户)的位置。

答案 3 :(得分:1)

SYSTEM环境变量存储在注册表项中:HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Control \ Session Manager \ Environment

用户的环境变量存储在注册表项中:HKEY_USERS [user SID] \ Environment

为了获取任何环境变量(特别是TEMP)的值,需要检查分支中是否存在此变量以指定用户。如果它在那里,那么你可以使用它。如果不存在,则需要从系统注册表分支中获取值。

答案 4 :(得分:-1)

在C#中,它......

System.Collections.IDictionary Vars = System.Environment.GetEnvironmentVariables();

String TempPath = Vars [“TEMP”];

你得到一整套元素...... Path,Temp,SessionName,PathExt,UserDomain,SystemDrive,WinDir等......

答案 5 :(得分:-1)

也许这可能有用:System.IO.Path.GetTempPath()