日期:2014-05-17  浏览次数:20849 次

在批处理程序中如果扩展一个字符串中包含的变量?
我写了一个批处理文件,其中有如下问题:

变量i的值是%systemroot$\system32

这个值是以字符串的形式存储在变量i中,
我希望在读取变量i的值时,能得到类似于c:\windows\system32的结果,也就是在读取时已经把%system32%这个环境变量换成了实际的值,这个问题在批处理中怎么实现?

这个i的值是从一个文本文件中读出来的,如果是在程序中使用:
i=%systemroot%\system32
那么,在赋值的时候,系统已经将i的值换成了c:\windows\system32
但是,从文本文件中读入这个字符串的时候仅仅只是读入了字符串,所以引出了这个问题,大家能帮我解决一下吗?

我目前有两个思路,一个是在读出字符串(%systemroot%\system32)时,他的值已经变成了c:\windows\system32,另一个想法是,在输出的时候将它的值能换成c:\windows\system32,但是都无法实现!

先谢谢大家了!

------解决方案--------------------
call一下就行了

@echo off
set /p i= <a.txt
call echo %i%