我一直在尝试创建一个程序,告诉你在任何计算机上的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
答案 0 :(得分:1)
%3%
显然是空的。如果是这种情况,则行echo %3%
实际上已转换为echo
。不带参数调用echo
使其回显当前的回声状态。所以这不是一个真正的错误信息。
要修复它,请在echo之后使用一个点:
echo.%3%
尽管%3%
为空,但这并没有改变这一事实。
答案 1 :(得分:1)
禁止此消息的方法是使用
echo(%var%
如果可能未设置var
。
但您的代码中存在错误。
%n
其中n
为0..9
表示“提供给位置n
中的例程的参数”。因此,您运行mybatch one two three
然后%0
将是mybatch
,%1
将是one
,%2
two
和{{ 1}} %3
。 three
到%4
将为%9
。
可以设置名为empty
.. 0
的环境变量,但检索此类数据有点棘手。用户变量不应该以数字开头。