批处理文件ERROR表示ECHO关闭

时间:2014-08-28 04:26:51

标签: batch-file

我已经写了这个批处理文件代码,但它有这个错误我很感激你,如果回答我。

错误是,当我选择2时,它会让我进入欲望网站,但是当我写地址时出现错误,表示ECHO已关闭

帮助我做什么......

@echo off
title trace
:main
echo 1)TRACE GOOGLE
echo 2)TRACE YOUR SITE
set /p choice=          Enter your choice:
echo %choice%
if %choice%==1 ( 
  tracert www.google.com
  goto main
  pause >nul
)
if %choice%==2 (
  set /p s=Enter your desired site:
  echo %s%
  pause >nul
)
pause >nul

2 个答案:

答案 0 :(得分:4)

这不是错误消息,而是在没有参数的情况下运行echo时会发生什么。换句话说,你看到了这一点,因为%s%结束了。

答案 1 :(得分:2)

要解决您的问题,请使用enabledelayedexpansion,因为在%区块中会扩展到阻止之前的值:

@echo off
setlocal enabledelayedexpansion
title trace
:main
echo 1)TRACE GOOGLE
echo 2)TRACE YOUR SITE
set /p choice=          Enter your choice:
echo %choice%
if %choice%==1 ( 
  tracert www.google.com
  goto main
  pause >nul
)
if %choice%==2 (
  set /p s=Enter your desired site:
  echo !s!
  pause >nul
)
pause >nul

哪个应该有用