我已经写了这个批处理文件代码,但它有这个错误我很感激你,如果回答我。
错误是,当我选择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
答案 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
哪个应该有用