中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助],如何获取当前用户的临时文件夹环境变量?
作者:
标题: [求助],如何获取当前用户的临时文件夹环境变量? 上一主题 | 下一主题
HUNRYBECKY
银牌会员





积分 1179
发帖 442
注册 2006-9-9
状态 离线
『楼 主』:  [求助],如何获取当前用户的临时文件夹环境变量?

很奇怪的是使用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)


2006-12-15 08:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HUNRYBECKY
银牌会员





积分 1179
发帖 442
注册 2006-9-9
状态 离线
『第 2 楼』:  

恩,没有人回复,自己顶一下。

2006-12-15 09:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kcdsw
中级用户





积分 404
发帖 179
注册 2006-3-30
状态 离线
『第 3 楼』:  

并不是所有的都显示!

2006-12-15 09:45
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tianzizhi
高级用户




积分 622
发帖 214
注册 2006-9-22
状态 离线
『第 4 楼』:  

你的temp环境变量可能让你改变过,改变后可以再改回来:
setx temp %userprofile%\temp
重启一下即可.
看看是不是temp又回来了,
TEMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp

   此帖被 +3 点积分     点击查看详情   
评分人:【 redtek 分数: +3  时间:2006-12-15 22:36


2006-12-15 09:49
查看资料  发送邮件  发短消息 网志  OICQ (419503077)  编辑帖子  回复  引用回复
tianzizhi
高级用户




积分 622
发帖 214
注册 2006-9-22
状态 离线
『第 5 楼』:  

如果你的系统不是2003,没有setx.exe的,你在这下载一下吧,这是2003自带的永久改变环境的工具,很有用的:
http://tianzizhi.disk365.cn/

2006-12-15 09:55
查看资料  发送邮件  发短消息 网志  OICQ (419503077)  编辑帖子  回复  引用回复
HUNRYBECKY
银牌会员





积分 1179
发帖 442
注册 2006-9-9
状态 离线
『第 6 楼』:  



  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%与之对应,可是作为用户级的则没有对应的环境变量,如何解决这个问题(如何获取用户的级临时文件夹环境变量)?

我的目的是:我安装一些软件运行后在用户级的临时文件夹(用户可能已经修改过该文件夹到其他位置)产生很多垃圾信息,我想使用命令清除掉,或者我想提取软件安装后的一些其他信息。

2006-12-15 10:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HUNRYBECKY
银牌会员





积分 1179
发帖 442
注册 2006-9-9
状态 离线
『第 7 楼』:  

我看了下SETX,好像也没有办法获取用户级的临时文件夹环境变量。期待其他方法。
不名的是SET命令怎么就找不到用户级别的环境变量呢?那么既然使用SET命令无法获取用户级的,那么我的电脑属性中用户的环境变量又是保存在那里的呢?也许是注册表,也许是INI文件中?

2006-12-15 10:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HUNRYBECKY
银牌会员





积分 1179
发帖 442
注册 2006-9-9
状态 离线
『第 8 楼』:  

刚才在注册表里找了下,用户级别的环境变量果然保存在注册表中,如下:

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"

2006-12-15 10:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tianzizhi
高级用户




积分 622
发帖 214
注册 2006-9-22
状态 离线
『第 9 楼』:  

获取用户临时文件夹用%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文件夹在当前用户文件夹里.
不知是不是你说的那个意思.

2006-12-15 10:46
查看资料  发送邮件  发短消息 网志  OICQ (419503077)  编辑帖子  回复  引用回复
HUNRYBECKY
银牌会员





积分 1179
发帖 442
注册 2006-9-9
状态 离线
『第 10 楼』:  

用户和系统的临时文件夹位置是不同的,用户的一般在C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp下,而系统的临时文件夹一般%windir%\temp,注意看我发的两张图片,可以明显看出二者不同(我一般都把系统和用户级的临时文件夹的路径改到其他盘的根目录)。
使用SET只能获取系统级别的环境变量而无法获取用户级的环境变量。

2006-12-15 11:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HUNRYBECKY
银牌会员





积分 1179
发帖 442
注册 2006-9-9
状态 离线
『第 11 楼』:  



  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命令只能获取系统级变量,用户级变量则无法获取.

安装用户级(只有当前用户可用)软件时临时文件则写到用户级的临时文件夹中,而安装系统级(所有用户都可以使用)的软件则放到了系统临时文件夹中.

2006-12-15 11:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HUNRYBECKY
银牌会员





积分 1179
发帖 442
注册 2006-9-9
状态 离线
『第 12 楼』:  

谢谢tianzizhi,问题解决了,修改了环境变量后(原来我的用户环境变量也是D:\TEMP,后来修改到E:\TEMP)必须重新启动系统或重新登陆后才能使用SET命令获取到.我的电脑死机了,我重新启动后发现就OK了。

2006-12-15 12:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: