回声错误

时间:2014-05-17 22:26:38

标签: file batch-file echo

我一直在尝试创建一个程序,告诉你在任何计算机上的IP。 然而,一个错误已经出现。

@echo off
set t=%CD%\file.txt
ipconfig >>file.txt
find /v "IPv4 Address . . . . . . . . . . . :" "%t%" >>Other_Details.txt
find /n "IPv4 Address. . . . . . . . . . . :" "%t%" >>YourIpAddress.txt
(
Set /p 1=
Set /p 2=
Set /p 3=
)<YourIpAddress.txt
echo %3%
pause

然后当我运行它时弹出:

Echo Is Off

plz help

2 个答案:

答案 0 :(得分:1)

%3%显然是空的。如果是这种情况,则行echo %3%实际上已转换为echo。不带参数调用echo使其回显当前的回声状态。所以这不是一个真正的错误信息。

要修复它,请在echo之后使用一个点:

echo.%3%

尽管%3%为空,但这并没有改变这一事实。

答案 1 :(得分:1)

禁止此消息的方法是使用

echo(%var%

如果可能未设置var

但您的代码中存在错误。

%n其中n0..9表示“提供给位置n中的例程的参数”。因此,您运行mybatch one two three然后%0将是mybatch%1将是one%2 two和{{ 1}} %3three%4将为%9

可以设置名为empty .. 0的环境变量,但检索此类数据有点棘手。用户变量不应该以数字开头。