Windows Can';t批量运行choice命令

Windows Can';t批量运行choice命令,windows,batch-file,Windows,Batch File,我有一个很大的问题。我已经编写了一个简单的批处理脚本,让您做出选择,仅此而已。问题是它不起作用。我的批处理脚本中没有一个包含choice命令,即使是我知道在今天之前工作过的脚本,也没有停止。我真的不确定出了什么问题,但我需要知道是我还是别的什么。第一个脚本不起作用,但不管第二个脚本发现什么原因 @echo off :START cls Title Main Menu ECHO. ECHO. ECHO {Hello} echo. ECHO 1. Hi ECHO 2. Hello set /p ch

我有一个很大的问题。我已经编写了一个简单的批处理脚本,让您做出选择,仅此而已。问题是它不起作用。我的批处理脚本中没有一个包含choice命令,即使是我知道在今天之前工作过的脚本,也没有停止。我真的不确定出了什么问题,但我需要知道是我还是别的什么。第一个脚本不起作用,但不管第二个脚本发现什么原因

@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中打开批处理文件时,它通常会关闭为fast以便我读取。然而,我终于能够一个字一个字地读它,它说“
您不应该对批处理变量或跳转标签使用
cmd
关键字(
start
choice

感谢您的快速响应,但是脚本上说的和我的一样“@user2728767我的脚本在这里工作,没有任何错误消息:|@user2728767您应该始终使用双引号进行转义,而不是单引号。从脚本中删除所有出现的
choice
,将其替换为
MyChoise
,然后查看错误消息。如果您这样做,消息将不再包含
选项
…我可以按原样使用脚本,对吗?我的意思是我不需要改变任何事情。当我将脚本复制到test.bat中时,它关闭时会说“当批量加载时,它会给我1.或2.我尝试将1和2分别输入其中。当然没有句点。然后它会说”
@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
        )
    )
)