中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 关于获取一个带环境变量的路径问题(等待补充问题)
作者:
标题: 关于获取一个带环境变量的路径问题(等待补充问题) 上一主题 | 下一主题
jiafei2427
新手上路





积分 8
发帖 8
注册 2007-10-31
状态 离线
『楼 主』:  关于获取一个带环境变量的路径问题(等待补充问题)

系统 win7 or xp

问题:
     我写了个从注册表获取系统“用户程序”的一个路径bat
得到路径用set 建立的一个变量存储 :

比如  set ver = %%i  其中 变量i内含有 环境变量%userprofile%\.....

那么在接下来对 %ver% 的操作中  。。
比如: del ”%ver%\...\*.txt“
系统提示找不到路径? 原因是 set获取的变量ver中含有环境变量 没有被扩展。。。。

补充:
如果用if exist 来判断 含有环境变量的路径呢?
如:
set ver= %userprofile%
if exist “%ver%\123.txt" del "%ver%\123.txt"
其中%ver%不被扩展
[ Last edited by jiafei2427 on 2009-12-16 at 17:08 ]

2009-12-16 14:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 2 楼』:  

不行就 call 一下

   此帖被 +1 点积分    点击查看详情   
评分人:【 jiafei2427 分数: +1  时间:2009-12-16 16:20


2009-12-16 14:48
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
jiafei2427
新手上路





积分 8
发帖 8
注册 2007-10-31
状态 离线
『第 3 楼』:  

谢谢 call 解决了 嗯 同时也看了上面的文章写的真好 。

2009-12-16 14:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jiafei2427
新手上路





积分 8
发帖 8
注册 2007-10-31
状态 离线
『第 4 楼』:  

补充:
如果用if exist 来判断 含有环境变量的路径呢?
如:
set ver= %userproflie%
if exist “%ver%\123.txt" del "%ver%\123.txt"
其中%ver%不被扩展

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




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 5 楼』:  

你上面的 ver 赋值有错,应该是 set ver=%userprofile%

2009-12-16 16:47
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
jiafei2427
新手上路





积分 8
发帖 8
注册 2007-10-31
状态 离线
『第 6 楼』:  

嗯 ,手误 = =!
环境变量是对的。

if 语句 执行结果是:

在屏幕上: %userprofile%\123.txt
            应该是 Users\Administrator  在win7下。但是没有被扩展就是上面的样子了。

[ Last edited by jiafei2427 on 2009-12-16 at 17:33 ]

2009-12-16 17:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 7 楼』:  

手误的也太多了吧, 1,  userproFile  ---userproFlie
                            2,  ‘     ----- '

2009-12-16 17:23
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
jiafei2427
新手上路





积分 8
发帖 8
注册 2007-10-31
状态 离线
『第 8 楼』:  

我晕了~

2009-12-16 17:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 9 楼』:  

1,set ver= 后加个空格做什么呢?这个空格会被扩展到所有的ver 中的。即意味着cmd将永远找不到这个路径。
2,exist 后的引号错了
3,既然if 中要使用多次 "%ver%\123.txt" ,为什么在set 的时候就不直接写成set ver="%userprofile%\123.txt"
4,在xp的sp3下的cmd中ver是可以扩展的。

   此帖被 +1 点积分    点击查看详情   
评分人:【 jiafei2427 分数: +1  时间:2009-12-16 18:20




批处理之家 http://bbs.bathome.net/forum-5-1.html
2009-12-16 18:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jiafei2427
新手上路





积分 8
发帖 8
注册 2007-10-31
状态 离线
『第 10 楼』:  

o 谢谢 楼上的 问题解决了
不直接引用是因为 是获取的路径。

2009-12-16 18:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: