windows - 在批处理文件中找不到语法错误

标签 windows batch-file cmd

所以我对编码还比较陌生,而且我似乎无法在我的这段代码中找到语法错​​误。每次加载菜单并按 1 时,它都会关闭并快速闪烁一条错误消息,提示存在语法错误。如果你们能帮我找出导致问题的原因。顺便说一句,这是一个基于文本的角色扮演游戏。没有法官:)

@echo off
TITLE VICTIMQUEST =-= RETRO EDITION
setlocal enabledelayedexpansion

:menu
color 0a
cls
echo.
echo VICTIMQUEST =-= RETRO EDITION
echo.
echo 1) Begin
echo 2) Exit
echo.
set /p c=C:\

if "%c%" == "1" goto new
if "%c%" == "2" exit
goto menu

:new
set health=100
set monsterhealth=30
set playerdmg=7
set monsterdmg=3
goto home

:home
cls
echo You sit in your nice, cozy cabin...
echo ----------------------
echo Nothing you need to worry about.
echo.
echo 1) FIGHT!
echo 2) Quit :|
echo.
set /p c=C:\

if "%c%" == "1" goto encounter1
if "%c%" == "2" goto menu
goto home

:encounter1
cls
echo You: %health%
echo.
echo 1) Attack
echo 2) Run away
echo.
set /p c=C:\

if "!c!" == "1' goto attack1
if "!c!' == "2" goto home
goto encounter1

请帮忙。谢谢!

最佳答案

3 个变化:

  1. REM @echo off - 当您调试或盲目飞行时应打开 Echo
  2. 管道字符 |是一个特殊字符,必须用 ^ 转义。

    echo 2) Quit :^|
    
  3. 不正确的引号。需要是双引号。

    if "!c!" == "1" goto attack1 
    

关于windows - 在批处理文件中找不到语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39735701/

相关文章:

python - 在 Cygwin 提示符下运行 Python 命令 (Windows 8)

.net - .net中的控制台用户界面可能吗?

python - 如何在 Windows 上使用 Python 将 SQLite 2 转换为 SQLite3?

windows - 怎么逃!在变量的值中?

windows - 为什么批处理文件中的命令 "Timeout"突然不起作用了?

java - 如何通过 JDBC 访问 Windows 版 Blackfish?

windows - 在批处理文件中,如何将一串值分配给变量列表?

windows - 如果我的 OEMCP 设置为 437 那么为什么我的 cmd.exe 默认代码页是 932?我该如何解决这个问题?

java - PowerLoom - 无法找到或加载主类 edu.isi.powerloom.PowerLoom

windows - 您可以为 Windows CMD 命令设置键盘快捷键吗?