日期:2014-05-17  浏览次数:20931 次

批处理变量名称如何传递
@echo off

rem %x%的值是传递过来的,假设此处等于b
set a=%x%
set %a%=12345

echo %a%
echo %b%

请问如何通过a输出b对应的值“12345”?

------解决方案--------------------
茴字有4种写法,这个至少有两种写法:
VBScript code

@echo off

    call :sub1

goto :eof


:sub1
SETLOCAL ENABLEDELAYEDEXPANSION

    set a=b
    set %a%=123456
    echo a:%a%
    echo b:%b%
    echo 通过a输出:!%a%!
    pause

SETLOCAL DISABLEDELAYEDEXPANSION
goto :eof


:sub2
    set a=b
    set %a%=123456
    echo a:%a%
    echo b:%b%
    call echo 通过a输出:%%%a%%%
    pause
goto :eof

------解决方案--------------------
如果写进批处理文件里,要两个百分号.