如何使用输入参数将%%应用于脚本中的变量?

时间:2010-05-21 06:20:10

标签: batch-file dos

昨天我问了一个问题,关于如何设法在没有得到评估的情况下围绕变量获取%%。 嗯,问题是,在我的情况下它不起作用......

我有一个获取输入参数的.bat文件。后来我想使用这个输入参数的值并将%...%放在一起,如:

call script.bat testValue

script.bat:

 set inputPar=%1
 set newValue=%%inputPar%%

现在我明白了:

 echo %inputPar%
testValue
 echo %newValue%
%inputPar%

但我想得到:

echo %newValue%
 %testValue%

这有可能吗?

2 个答案:

答案 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%