![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 23:23 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 关于获取一个带环境变量的路径问题(等待补充问题) |
| 可打印版本 987 / 9 |
| 第1楼 jiafei2427 | 发表于 2009-12-16 14:45 |
| 新手上路 发帖 8 积分 8 | |
|
关于获取一个带环境变量的路径问题(等待补充问题) 系统 win7 or xp
问题: 我写了个从注册表获取系统“用户程序”的一个路径bat 得到路径用set 建立的一个变量存储 : 比如 set ver = %%i 其中 变量i内含有 环境变量%userprofile%\..... 那么在接下来对 %ver% 的操作中 。。 比如: del ”%ver%\...\*.txt“ 系统提示找不到路径? 原因是 set获取的变量ver中含有环境变量 没有被扩展。。。。 补充: [ Last edited by jiafei2427 on 2009-12-16 at 17:08 ] |
|
| 第2楼 huahua0919 | 发表于 2009-12-16 14:48 |
| 银牌会员 发帖 780 积分 1,608 | |
|
不行就 call 一下
|
|
| 第3楼 jiafei2427 | 发表于 2009-12-16 14:57 |
| 新手上路 发帖 8 积分 8 | |
|
谢谢 call 解决了 嗯 同时也看了上面的文章写的真好 。
|
|
| 第4楼 jiafei2427 | 发表于 2009-12-16 16:15 |
| 新手上路 发帖 8 积分 8 | |
|
补充:
如果用if exist 来判断 含有环境变量的路径呢? 如: set ver= %userproflie% if exist “%ver%\123.txt" del "%ver%\123.txt" 其中%ver%不被扩展 |
|
| 第5楼 huahua0919 | 发表于 2009-12-16 16:47 |
| 银牌会员 发帖 780 积分 1,608 | |
|
你上面的 ver 赋值有错,应该是 set ver=%userprofile%
|
|
| 第6楼 jiafei2427 | 发表于 2009-12-16 17:03 |
| 新手上路 发帖 8 积分 8 | |
|
嗯 ,手误 = =!
环境变量是对的。 if 语句 执行结果是: 在屏幕上: %userprofile%\123.txt 应该是 Users\Administrator 在win7下。但是没有被扩展就是上面的样子了。 [ Last edited by jiafei2427 on 2009-12-16 at 17:33 ] |
|
| 第7楼 huahua0919 | 发表于 2009-12-16 17:23 |
| 银牌会员 发帖 780 积分 1,608 | |
|
手误的也太多了吧, 1, userproFile ---userproFlie
2, ‘ ----- ' |
|
| 第8楼 jiafei2427 | 发表于 2009-12-16 17:33 |
| 新手上路 发帖 8 积分 8 | |
|
我晕了~
|
|
| 第9楼 Hanyeguxing | 发表于 2009-12-16 18:06 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
|
1,set ver= 后加个空格做什么呢?这个空格会被扩展到所有的ver 中的。即意味着cmd将永远找不到这个路径。
2,exist 后的引号错了 3,既然if 中要使用多次 "%ver%\123.txt" ,为什么在set 的时候就不直接写成set ver="%userprofile%\123.txt" 4,在xp的sp3下的cmd中ver是可以扩展的。 |
|
| 第10楼 jiafei2427 | 发表于 2009-12-16 18:19 |
| 新手上路 发帖 8 积分 8 | |
|
o 谢谢 楼上的 问题解决了
不直接引用是因为 是获取的路径。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |