Echo是关闭Windows批处理错误

时间:2017-08-16 11:27:33

标签: windows batch-file windows-scripting

方案

我希望如果用户输入一个值,我会得到主机名,如果用户没有输入任何值,那么我只是回显默认路径。

问题陈述

在if中添加这些条件后,如果用户输入值,则 echo is off

我该如何解决这个问题?

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%)

1 个答案:

答案 0 :(得分:1)

我不确定我完全明白你要做什么,但试试这个:

@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”错误。请告诉我它是否有效!