标题: 关于获取一个带环境变量的路径问题(等待补充问题)
[打印本页]
作者: jiafei2427
时间: 2009-12-16 14:45
标题: 关于获取一个带环境变量的路径问题(等待补充问题)
系统 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 ]
作者: huahua0919
时间: 2009-12-16 14:48
不行就 call 一下
作者: jiafei2427
时间: 2009-12-16 14:57
谢谢 call 解决了 嗯 同时也看了上面的文章写的真好 。
作者: jiafei2427
时间: 2009-12-16 16:15
补充:
如果用if exist 来判断 含有环境变量的路径呢?
如:
set ver= %userproflie%
if exist “%ver%\123.txt" del "%ver%\123.txt"
其中%ver%不被扩展
作者: huahua0919
时间: 2009-12-16 16:47
你上面的 ver 赋值有错,应该是 set ver=%userprofile%
作者: jiafei2427
时间: 2009-12-16 17:03
嗯 ,手误 = =!
环境变量是对的。
if 语句 执行结果是:
在屏幕上: %userprofile%\123.txt
应该是 Users\Administrator 在win7下。但是没有被扩展就是上面的样子了。
Last edited by jiafei2427 on 2009-12-16 at 17:33 ]
作者: huahua0919
时间: 2009-12-16 17:23
手误的也太多了吧, 1, userproFile ---userproFlie
2, ‘ ----- '
作者: jiafei2427
时间: 2009-12-16 17:33
我晕了~
作者: Hanyeguxing
时间: 2009-12-16 18:06
1,set ver= 后加个空格做什么呢?这个空格会被扩展到所有的ver 中的。即意味着cmd将永远找不到这个路径。
2,exist 后的引号错了
3,既然if 中要使用多次 "%ver%\123.txt" ,为什么在set 的时候就不直接写成set ver="%userprofile%\123.txt"
4,在xp的sp3下的cmd中ver是可以扩展的。
作者: jiafei2427
时间: 2009-12-16 18:19
o 谢谢 楼上的 问题解决了
不直接引用是因为 是获取的路径。