![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-29 08:03 |
共 47,816 主题排行 / 349,916 发帖 / 今日 0 篇 / 48,265 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助],如何获取当前用户的临时文件夹环境变量? |
| 可打印版本 4,767 / 11 |
| 第1楼 HUNRYBECKY | 发表于 2006-12-15 08:26 |
| 银牌会员 发帖 442 积分 1,179 | |
|
[求助],如何获取当前用户的临时文件夹环境变量? 很奇怪的是使用set 来获取所有的环境变量,列表中只有系统临时文件夹环境变量TEMP=D:\TEMP,而没有当前用户的临时文件夹环境变量TEMP,如何解决这一问题?如何来获取当前用户的用户临时文件夹变量?
附件 01.JPG (31.65 KiB) 02.JPG (79.97 KiB) |
|
| 第2楼 HUNRYBECKY | 发表于 2006-12-15 09:34 |
| 银牌会员 发帖 442 积分 1,179 | |
|
恩,没有人回复,自己顶一下。
|
|
| 第3楼 kcdsw | 发表于 2006-12-15 09:45 |
| 中级用户 发帖 179 积分 404 | |
|
并不是所有的都显示!
|
|
| 第4楼 tianzizhi | 发表于 2006-12-15 09:49 |
| 高级用户 发帖 214 积分 623 | |
|
你的temp环境变量可能让你改变过,改变后可以再改回来:
setx temp %userprofile%\temp 重启一下即可. 看看是不是temp又回来了, TEMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp |
|
| 第5楼 tianzizhi | 发表于 2006-12-15 09:55 |
| 高级用户 发帖 214 积分 623 | |
|
如果你的系统不是2003,没有setx.exe的,你在这下载一下吧,这是2003自带的永久改变环境的工具,很有用的:
http://tianzizhi.disk365.cn/ |
|
| 第6楼 HUNRYBECKY | 发表于 2006-12-15 10:29 |
| 银牌会员 发帖 442 积分 1,179 | |
Originally posted by tianzizhi at 2006-12-15 09:49: 谢谢tianzizhi兄的回答,不过也许我的意思表达有点问题。我的意思是无论用户的临时文件夹变量无论改变与否,如何获取这个文件夹,作为系统级别的有变量%tem%与之对应,可是作为用户级的则没有对应的环境变量,如何解决这个问题(如何获取用户的级临时文件夹环境变量)? 我的目的是:我安装一些软件运行后在用户级的临时文件夹(用户可能已经修改过该文件夹到其他位置)产生很多垃圾信息,我想使用命令清除掉,或者我想提取软件安装后的一些其他信息。 |
|
| 第7楼 HUNRYBECKY | 发表于 2006-12-15 10:38 |
| 银牌会员 发帖 442 积分 1,179 | |
|
我看了下SETX,好像也没有办法获取用户级的临时文件夹环境变量。期待其他方法。
不名的是SET命令怎么就找不到用户级别的环境变量呢?那么既然使用SET命令无法获取用户级的,那么我的电脑属性中用户的环境变量又是保存在那里的呢?也许是注册表,也许是INI文件中? |
|
| 第8楼 HUNRYBECKY | 发表于 2006-12-15 10:41 |
| 银牌会员 发帖 442 积分 1,179 | |
|
刚才在注册表里找了下,用户级别的环境变量果然保存在注册表中,如下:
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" |
|
| 第9楼 tianzizhi | 发表于 2006-12-15 10:46 |
| 高级用户 发帖 214 积分 623 | |
|
获取用户临时文件夹用%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文件夹在当前用户文件夹里. 不知是不是你说的那个意思. |
|
| 第10楼 HUNRYBECKY | 发表于 2006-12-15 11:18 |
| 银牌会员 发帖 442 积分 1,179 | |
|
用户和系统的临时文件夹位置是不同的,用户的一般在C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp下,而系统的临时文件夹一般%windir%\temp,注意看我发的两张图片,可以明显看出二者不同(我一般都把系统和用户级的临时文件夹的路径改到其他盘的根目录)。
使用SET只能获取系统级别的环境变量而无法获取用户级的环境变量。 |
|
| 第11楼 HUNRYBECKY | 发表于 2006-12-15 11:25 |
| 银牌会员 发帖 442 积分 1,179 | |
Originally posted by tianzizhi at 2006-12-15 10:46: 两张图中:第一张中用户级的临时文件变量在E:\TEMP,系统级的临时文件夹变量在D:\TEMP,而使用SET命令找到临时环境变量却是D:\TEMP,而找不到E:\TEMP,说明使用SET命令只能获取系统级变量,用户级变量则无法获取. 安装用户级(只有当前用户可用)软件时临时文件则写到用户级的临时文件夹中,而安装系统级(所有用户都可以使用)的软件则放到了系统临时文件夹中. |
|
| 第12楼 HUNRYBECKY | 发表于 2006-12-15 12:33 |
| 银牌会员 发帖 442 积分 1,179 | |
|
谢谢tianzizhi,问题解决了,修改了环境变量后(原来我的用户环境变量也是D:\TEMP,后来修改到E:\TEMP)必须重新启动系统或重新登陆后才能使用SET命令获取到.我的电脑死机了,我重新启动后发现就OK了。
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |