我通过脚本读取文件repos.txt
:
@echo off
for /F %%s in (%~dp0repos.txt) do (
echo %%s
)
文件repos.txt
包含以下行:
%UserProfile%\Documents\Repository\A
%UserProfile%\Documents\Repository\B
echo
命令为我提供了不评估环境变量%UserProfile%
的目录。当我想将它与git一起使用时,这是一个问题。
如何评估环境变量?
我尝试setlocal
喜欢完成here和周围的exclamation marks。不幸的是,没有什么能提供正确的输出。
答案 0 :(得分:2)
命令调用可用于在分配给环境变量时扩展环境变量,如此代码所示:
@echo off
setlocal EnableDelayedExpansion
for /F "usebackq eol=| delims=" %%s in ("%~dp0repos.txt") do (
set "RepositoryPath=%%s"
echo Not expanded: !RepositoryPath!
call set "RepositoryPath=%%s"
echo And expanded: !RepositoryPath!
)
endlocal