【问题标题】:How do you call another batch file in a batch file with if statements and inputs?如何使用 if 语句和输入调用批处理文件中的另一个批处理文件?
【发布时间】:2016-04-14 22:00:10
【问题描述】:

在提问之前先问候大家。无论如何,我在这里有一部分用于批处理文件的代码,我想知道为什么,每次我输入“1”或“2”时,它都会说语法不正确,然后它就会退出。我整晚都在寻找它,但找不到任何东西。我已经用不同的版本替换了 if else 语句,但它们都不起作用 xD。我想知道你们是否可以帮助我,我想提前感谢你们,以防我忘记。

这是代码。

set /p ch=[]:
if %ch%==1(
    goto login
)
if %ch%==2(
    goto register
)
:login
call lxer.bat
exit
:register
call rxer.bat
exit

所以问题是:

它不会调用批处理文件 lxer.bat / rxer.bat (这些批处理文件已经在正确的目录中/在同一个文件夹中) 它说了一些关于语法的东西,然后它会直接关闭。

【问题讨论】:

    标签: batch-file if-statement input windows-7


    【解决方案1】:

    if 中的( 之前必须有一个空格,否则cmd( 分组到要比较的字符串中。结果是if string == stringcontaining(cmd 说得好,如果是,那又怎样?

    确保字符串存在也是一个想法。如果您只是按 Enter 来响应 set p,那么变量将保持不变,因此如果尚未设置,cmd 会看到 if == string... 并将反对。

    通常的方式是if "%ch%"=="2" (

    【讨论】:

    • 该死,我刚按回车就看到1 new answer to this post,不知怎么就知道是你了。
    • 天哪,我怎么能错过呢?! xD
    • 非常感谢! lmfaooooo 我现在在笑自己
    【解决方案2】:

    我喜欢这样从http://www.dostips.com

    放一个dynamic menu

    说明:

    这个简单的菜单框架会自行解析某些特定的批次标签 签名并将它们列为菜单项。自解析功能使 菜单通用。可以通过添加新的来插入新的菜单项 功能块,无需更改菜单基础结构。

    @echo off
    Title Example of a dynamic Menu
    :menuLOOP
    Color 0A & Mode con cols=55 lines=10
    echo(
    echo(     ====================Menu====================
    echo(
    for /f "tokens=2* delims=_ " %%A in ('"findstr /b /c:":menu_" "%~f0""') do (
    echo        %%A  %%B )
    echo(
    echo(     ============================================
    set choice=
    echo( & set /p choice=Make a choice or hit ENTER to quit: || GOTO :EOF
    echo( & call :menu_[%choice%]
    GOTO:menuLOOP
    ::*************************
    :menu_[1] login
    cls
    echo(
    echo login & pause
    call lxer.bat
    exit /b
    ::*************************
    :menu_[2] register
    cls
    echo(
    echo register & pause
    call rxer.bat
    exit /b
    ::*************************
    

    你也可以看看this example with a dynamic menu : DJ Batch Music Player

    【讨论】:

    • 哇!我最好也试试这个。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2015-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-01
    • 2021-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多