如何显示已创建配置文件的数据列表

时间:2013-07-31 06:29:56

标签: batch-file

我通常是批处理文件的新手,我正在尝试制作一个RPG,但我正在寻找的东西超过了我对批处理文件的了解,所以我想知道如何建立一个系统,你可以查看创建的配置文件/用户/数据,然后决定对它进行加载,删除等操作

数据选择

    :DataList
    cls

    echo.
    echo Datas
    echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
    echo TEST
    echo TEST02
    echo TEST03

    set /p Datas=Enter=
    if %Datas% == %CurrentData% goto ?
        ^TEST      ^TEST              ^TESTData

所以这就是你会看到的......

   Datas
   ---------------
    TEST
    TEST02
    TEST03

选择TESTData

    :TESTData
    echo.
    echo TEST Data
    echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
    echo 1) Load Current Data
    echo 2) Delete Current Data
    echo 3) Back

    set /p DataOptions=Enter=
    if %DataOptions% equ 1 goto %TEST%Data
    if %DataOptions% equ 2 then do DEL %TEST%Data
    if %DataOptions% equ 3 goto DataList

这就是你会看到的

    TEST Data
    --------------
    1) Load Current Data
    2) Delete Current Data
    3) Back

所以我基本上需要让它运行,以便每次你创建一个新的数据,它将它添加到if%Datas%==%CurrentDatas%的函数中,并且当你选择数据时你可以删除它

1 个答案:

答案 0 :(得分:0)

如果你的Datas是一个动态数组,你不能批量硬编码,你必须迭代。

这意味着您无法使用GOTO :%...%,因为%...%是意料之外的,并且您的标签已经写好了!

批量处理数组并不容易,但可能。确保批量启动时SETLOCAL ENABLEDELAYEDEXPANSION

步骤1:显示数据 - 我假设数据是profiles/users/data

上的文件
:DataList
SET DATA_COUNT=0
FOR %%i IN (profiles\users\data\*) DO (
    SET /A DATA_COUNT+=1
    SET %DATA[!DATA_COUNT!]%=%%i
    ECHO !DATA_COUNT!) %%i
)

第2步:获取用户输入

SET /P Datas=Enter=
REM Get sure thar %Datas% is a number:
SET /A Datas*=1
IF %Datas% GEQ 1 IF %Datas% LEQ %DATA_COUNT% (
    SET TEST=!DATA[%Datas%]!
    REM Note that from now on, your selected data is stored in %TEST%
    GOTO :TESTData
)
ECHO Invalid option!
PAUSE
GOTO :DataList

第3步:对数据进行操作

:TESTData
ECHO TEST Data: %TEST%
ECHO -----------------
ECHO 1) Load Current Data
ECHO 2) Delete Current Data
ECHO 3) Back
SET /P DataOption=Enter=
SET /A DataOption*=1
IF %DataOptions% EQU 1 GOTO :Load_Data
IF %DataOptions% EQU 2 (
    DEL %TEST%
    GOTO :DataList
)
IF %DataOptions% EQU 3 GOTO :DataList
ECHO Invalid option!
PAUSE
GOTO :TESTData
祝你好运!