Echo is off windows 批处理错误

Echo is off windows batch error

场景

我想要如果用户输入一个值,我得到主机名,如果用户不输入任何值,那么我只回显默认路径。

问题陈述

在 if else 中添加这些条件后,我得到 echo is off if user enters a values.

我该如何解决这个问题?

SET /P USER_INSTALL= Installation Path : 
@echo:
if "%USER_INSTALL%"=="" ( echo "------Default path------") else (
ECHO %USER_INSTALL%
FOR /F "usebackq" %%i IN (`hostname`) DO SET HOST=%%i
ECHO %HOST%)

我不确定我是否完全理解你想要做什么,但试试这个:

@echo off
SET /P USER_INSTALL=Installation Path : 
if "%USER_INSTALL%"=="" goto IP1
goto :IP2

:IP1
echo "------Default path------"
PAUSE
exit

:IP2
ECHO %USER_INSTALL%
FOR /F "usebackq" %%i IN (`hostname`) DO SET HOST=%%i
ECHO %HOST%
PAUSE
exit

这样可以稍微组织一下代码。我添加了暂停命令,这样您就可以看到它在做什么。对此进行测试时,我没有收到 "echo is off" 错误。如果有效请告诉我!