Board logo

标题: [求助],如何获取当前用户的临时文件夹环境变量? [打印本页]

作者: HUNRYBECKY     时间: 2006-12-15 08:26    标题: [求助],如何获取当前用户的临时文件夹环境变量?

很奇怪的是使用set 来获取所有的环境变量,列表中只有系统临时文件夹环境变量TEMP=D:\TEMP,而没有当前用户的临时文件夹环境变量TEMP,如何解决这一问题?如何来获取当前用户的用户临时文件夹变量?
附件 1: 01.JPG (2006-12-15 08:26, 31.65 K, 下载附件所需积分 1点 ,下载次数: 4)


附件 2: 02.JPG (2006-12-15 08:26, 79.97 K, 下载附件所需积分 1点 ,下载次数: 4)



作者: HUNRYBECKY     时间: 2006-12-15 09:34
恩,没有人回复,自己顶一下。
作者: kcdsw     时间: 2006-12-15 09:45
并不是所有的都显示!
作者: tianzizhi     时间: 2006-12-15 09:49
你的temp环境变量可能让你改变过,改变后可以再改回来:
setx temp %userprofile%\temp
重启一下即可.
看看是不是temp又回来了,
TEMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
作者: tianzizhi     时间: 2006-12-15 09:55
如果你的系统不是2003,没有setx.exe的,你在这下载一下吧,这是2003自带的永久改变环境的工具,很有用的:
http://tianzizhi.disk365.cn/
作者: HUNRYBECKY     时间: 2006-12-15 10:29


  Quote:
Originally posted by tianzizhi at 2006-12-15 09:49:
你的temp环境变量可能让你改变过,改变后可以再改回来:
setx temp %userprofile%\temp
重启一下即可.
看看是不是temp又回来了,
TEMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp

谢谢tianzizhi兄的回答,不过也许我的意思表达有点问题。我的意思是无论用户的临时文件夹变量无论改变与否,如何获取这个文件夹,作为系统级别的有变量%tem%与之对应,可是作为用户级的则没有对应的环境变量,如何解决这个问题(如何获取用户的级临时文件夹环境变量)?

我的目的是:我安装一些软件运行后在用户级的临时文件夹(用户可能已经修改过该文件夹到其他位置)产生很多垃圾信息,我想使用命令清除掉,或者我想提取软件安装后的一些其他信息。
作者: HUNRYBECKY     时间: 2006-12-15 10:38
我看了下SETX,好像也没有办法获取用户级的临时文件夹环境变量。期待其他方法。
不名的是SET命令怎么就找不到用户级别的环境变量呢?那么既然使用SET命令无法获取用户级的,那么我的电脑属性中用户的环境变量又是保存在那里的呢?也许是注册表,也许是INI文件中?
作者: HUNRYBECKY     时间: 2006-12-15 10:41
刚才在注册表里找了下,用户级别的环境变量果然保存在注册表中,如下:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Environment]
"include"="C:\\Program Files\\WMI\\include"
"LANG"="CHS"
"lib"="C:\\Program Files\\WMI\\lib"
"TEMP"="e:\\TEMP"
"TMP"="e:\\TEMP"
作者: tianzizhi     时间: 2006-12-15 10:46
获取用户临时文件夹用%temp%不就行了吗,这个就是用户级的临时文件夹,系统默认的temp文件夹位置就在用户文件夹里面,如我的临时文件夹默认为:
TEMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
TMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
你只要调用%temp%变量就行了.
向%temp%产生垃圾 直接用  >%temp%\就行,清除用 del %temp%\*.* /f 就行
通常temp文件夹在当前用户文件夹里.
不知是不是你说的那个意思.
作者: HUNRYBECKY     时间: 2006-12-15 11:18
用户和系统的临时文件夹位置是不同的,用户的一般在C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp下,而系统的临时文件夹一般%windir%\temp,注意看我发的两张图片,可以明显看出二者不同(我一般都把系统和用户级的临时文件夹的路径改到其他盘的根目录)。
使用SET只能获取系统级别的环境变量而无法获取用户级的环境变量。
作者: HUNRYBECKY     时间: 2006-12-15 11:25


  Quote:
Originally posted by tianzizhi at 2006-12-15 10:46:
获取用户临时文件夹用%temp%不就行了吗,这个就是用户级的临时文件夹,系统默认的temp文件夹位置就在用户文件夹里面,如我的临时文件夹默认为:
TEMP=C: ...

两张图中:第一张中用户级的临时文件变量在E:\TEMP,系统级的临时文件夹变量在D:\TEMP,而使用SET命令找到临时环境变量却是D:\TEMP,而找不到E:\TEMP,说明使用SET命令只能获取系统级变量,用户级变量则无法获取.

安装用户级(只有当前用户可用)软件时临时文件则写到用户级的临时文件夹中,而安装系统级(所有用户都可以使用)的软件则放到了系统临时文件夹中.
作者: HUNRYBECKY     时间: 2006-12-15 12:33
谢谢tianzizhi,问题解决了,修改了环境变量后(原来我的用户环境变量也是D:\TEMP,后来修改到E:\TEMP)必须重新启动系统或重新登陆后才能使用SET命令获取到.我的电脑死机了,我重新启动后发现就OK了。