批处理命令 - 读取带有特殊字符的INI文件

3
我正在阅读一个config.ini文件,我想使用KEY作为变量名,VALUE作为值。
Config.ini
fbdestination=I:\WZPDA\workingfolder\stored
emailreport=xxx@xxxx.xxx
gmailudpw=USERNAME:PASSWORD

我正在使用:

FOR /F "tokens=1,2 delims=^=" %%A IN (config.ini) DO (SET %%A=%%B)

一切都很顺利,但是我有一个复杂密码的问题,比如:

myusername:!myp4ssw0rd!

当我尝试ECHO $gmailudpw$时,我只得到:

myusername:

有没有一种方法可以将!myp4ssw0rd!作为字符串而不是变量进行读取?谢谢。
1个回答

6
尝试这样做:

尝试以下操作:

@echo off
setlocal disabledelayedexpansion
FOR /F "tokens=*" %%A IN ('type "config.ini"') DO SET %%A
echo %fbdestination%
echo %emailreport%
echo %gmailudpw%

从“type”命令中您无法获得任何可见结果。只有从“echo”命令中可以看到结果。如果您不需要它,请将其删除。它们只是作为示例在这里。 - SachaDee
我已经删除了echo命令,因为我只需要变量,但是我不得不在“set %%A”之后加上cls来隐藏整个ini内容。 - René Girardi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接