在批处理中,用户输入是通过set /p命令实现的,无法直接“自动填写”。不过,你可以通过一些方法来模拟用户输入“1”,从而达到自动执行相应代码块的目的。
以下是几种方法:
方法一:使用choice命令
@echo off
echo 1、内网(静态IP)
echo 2、互联网(动态IP)
choice /C:12 /N /D:1 /T:1 >nul
set var=%errorlevel%
if %var%==1 goto ip1
if %var%==2 goto ip2
:ip1
cls
这里使用了choice命令,/C:12表示选项为1和2,/N表示不显示选项,/D:1表示默认选项为1,/T:1表示等待1秒后自动选择默认选项。这样就可以在等待1秒后自动选择“1”,然后根据errorlevel的值判断选择的是哪个选项并跳转到相应标签。
方法二:直接设置变量
如果你确定要自动选择“1”,可以直接设置变量var的值为“1”,然后进行判断跳转:
@echo off
echo 1、内网(静态IP)
echo 2、互联网(动态IP)
set var=1
if %var%==1 goto ip1
if %var%==2 goto ip2
:ip1
cls
不过这种方法没有让用户看到输入提示并进行选择的过程,直接执行了“1”对应的代码块。
方法三:使用set /p结合echo和管道符
@echo off
echo 1、内网(静态IP)
echo 2、互联网(动态IP)
echo 1|set /p var="请输入你选择地点对应的数字:"
if %var%==1 goto ip1
if %var%==2 goto ip2
:ip1
cls
这里通过echo 1|set /p var="请输入你选择地点对应的数字:"这种方式,将“1”作为输入传递给set /p命令,从而模拟用户输入“1”。不过这种方法可能会在命令行窗口中显示多余的“1”,不太美观。
dbug 发表于 2025-1-19 09:45
AI答的:
我心飞呀飞 发表于 2025-1-19 09:36
echo 1、内网(静态IP)
echo 2、互联网(动态IP)
var=1
dbug 发表于 2025-1-19 09:45
AI答的:
欢迎光临 全球主机交流论坛 (https://443502.xyz/) | Powered by Discuz! X3.4 |