我正在创建一个简单的CMD .bat文件来快速ping我已经保存的IP地址。
我可以set /p ip = Enter IP:
但我不希望每次都输入ip。
我尝试了set ip = 192.168.0.1
但是当我尝试ping %ip%
时,它说“必须指定IP地址”。我也试过了set ip = www.google.com
,它也没有用。
看起来有点像这样:
echo 2 - use 192.168.0.1
SET /P izbira=Choose:
if %izbira% == 2 goto use_01
:use_01
set ip = 192.168.0.1
goto ping
:ping
ping %ip%
我做错了什么?
答案 0 :(得分:3)
ip = 192.168.0.1
之间有空格。这将导致此命令设置名为%ip %
的变量,并为其赋值 192.168.0.1
。这就是你需要摆脱空间的原因。您还应该使用双引号来确保不包含尾随空格,因此您应该使用:
echo 2 - use 192.168.0.1
SET /P izbira=Choose:
if "%izbira%"=="2" goto use_01
:use_01
set "ip=192.168.0.1"
goto ping
:ping
ping %ip%
我还应该注意,最好将字符串与它们周围的双引号进行比较,并且你的程序将始终执行ping,因为即使goto没有执行,它也会继续,仍然会集和ping。