昨天我问了一个问题,关于如何设法在没有得到评估的情况下围绕变量获取%%。 嗯,问题是,在我的情况下它不起作用......
我有一个获取输入参数的.bat文件。后来我想使用这个输入参数的值并将%...%放在一起,如:
call script.bat testValue
script.bat:
set inputPar=%1
set newValue=%%inputPar%%
现在我明白了:
echo %inputPar%
testValue
echo %newValue%
%inputPar%
但我想得到:
echo %newValue%
%testValue%
这有可能吗?
答案 0 :(得分:2)
您获得这些结果的原因是因为%%inputPar%%
被视为 %% i n P û 吨 P 一 - [R %% 和%%
成为文字%
。
你需要:
first.cmd:
@echo off
call script.cmd testValue
script.cmd:
@echo off
set inputPar=%1
set newValue=%%%inputPar%%%
echo %inputPar% should be testValue
echo %newValue% should be %%testValue%%
这为您提供 %% %inputPar% %% ,同样,%%
成为文字{{1} } %
成为%inputPar%
。
答案 1 :(得分:0)
我找到了解决方案:
设置inputPar =%1
设置inputParDollar = %%% inputPar %%%
:: installDir是一个已设置的环境变量
设置installDirDollar = %%% installDir %%%
echo inputPar:%inputPar%
echo inputParDollar:%inputParDollar%
echo installDirDollar:%installDirDollar%
调用script.bat testValue
inputPar:testValue
inputParDollar:%testValue%
installDirDollar:%D:\ testenv%