1

我对此有很大的问题。我编写了一个简单的批处理脚本,让您可以做出选择,仅此而已。问题是它不起作用。我的所有具有选择命令的批处理脚本,即使是我今天之前工作过的那些,都没有停止。我真的不确定出了什么问题,但我需要知道是我还是其他人。第一个脚本不起作用,但无论出于何种原因,第二个脚本都可以找到。

@echo off
:START
cls
Title Main Menu
ECHO.
ECHO.
ECHO {Hello}
echo.
ECHO 1. Hi
ECHO 2. Hello
set /p choice=Please select choice: 
if '%choice%'=='1' echo Hi
if '%choice%'=='2' echo Hello
if not '%choice%'=='' ECHO "%choice%" is not valid please try again
cls
pause

:START
cls
Title Main Menu
ECHO.
ECHO.
ECHO {Hellow}
echo.
ECHO 1. Hello
ECHO 2. Hi
set /p choice=Please select choice: 
if '%choice%'=='1' cls goto Hello1
if '%choice%'=='2' cls goto Hello2
if not '%choice%'=='' ECHO "%choice%" is not valid please try again
cls

当我在 cmd 中打开批处理文件时,它通常会快速关闭以供我阅读。然而,我终于可以一次读一个字了,它说“<1 不是一个有效的选择”。这可能是一个简单的解决方法,但我一生都无法弄清楚。

4

1 回答 1

0
@ECHO OFF &SETLOCAL
:LOOP
CLS
ECHO(
ECHO(
ECHO {Hello}
ECHO(
ECHO 1. Hi
ECHO 2. Hello
SET "MyChoice="
set /p "MyChoice=Please select choice: "
if "%MyChoice%"=="1" (
    ECHO Hi
) ELSE (
    if "%MyChoice%"=="2" (
        ECHO Hello
    ) ELSE (
        if not "%MyChoice%"=="" (
            ECHO "%MyChoice%" is not valid please try again
            PAUSE
            GOTO :LOOP
        )
    )
)

您不应将cmd关键字用于批处理变量或跳转标签 ( start, choice)

于 2013-09-01T17:14:55.560 回答