【发布时间】:2015-01-23 17:23:18
【问题描述】:
我有一个包含路径列表的文件。其中一些可能包含环境变量,例如%USERPROFILE%。
例子:
%USERPROFILE%\dir
C:\another\dir
然后我正在阅读所有行并使用此代码与; 连接(由于 git,cat 和 tr 命令可用):
set include_file=C:\path\to\file.txt
for /f "delims=" %%i in ('cat %include_file% ^| tr "\\n" ";"') do set include_content=%%i
这将创建一个带有字符串%USERPROFILE%\dir;C:\another\dir 的变量
通常运行echo %USERPROFILE%会给你类似C:\Users\xxx\dir的东西,但是用%include_content%运行它只会输出原始字符串而不扩展%USERPATH%
我的最终计划是像 set PATH=%include_content%;%PATH% 这样将目录添加到我的 PATH 中,但这不起作用,因为变量没有展开。
我的问题是我能否以某种方式扩展字符串中的变量,以便将真实目录添加到路径中?
【问题讨论】:
标签: batch-file environment-variables