我遇到了很大的问题。我写了一个简单的批处理脚本,让你做出选择,就是这样。问题是它不起作用。我的批处理脚本中没有一个具有选择命令,甚至是我今天以前工作过的那些脚本已经停止了。我真的不确定什么是错的,但我需要知道这是不是我或别的什么。第一个脚本不起作用,但无论出于何种原因,第二个脚本都可以找到。
@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不是一个有效的选择”。这可能是一个简单的解决方案,但我不能为我的生活弄明白。
答案 0 :(得分: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
)