全球主机交流论坛

标题: 这段批处理怎么自动填写输入1 [打印本页]

作者: qq7877666    时间: 2025-1-19 01:51
标题: 这段批处理怎么自动填写输入1
echo 1、内网(静态IP)
echo 2、互联网(动态IP)
set /P var="请输入你选择地点对应的数字:"
if %var%==1 goto ip1
if %var%==2 goto ip2
:ip1
cls



怎么弄的,小白求解!
作者: 我心飞呀飞    时间: 2025-1-19 09:36
本帖最后由 我心飞呀飞 于 2025-1-19 09:39 编辑

echo 1、内网(静态IP)
echo 2、互联网(动态IP)
var=1
if %var%==1 goto ip1
if %var%==2 goto ip2
:ip1
cls
作者: dbug    时间: 2025-1-19 09:45
AI答的:
在批处理中,用户输入是通过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”,不太美观。

作者: qq7877666    时间: 2025-1-20 00:13
dbug 发表于 2025-1-19 09:45
AI答的:

AI 现在这么智能啊
作者: qq7877666    时间: 2025-1-20 00:15
我心飞呀飞 发表于 2025-1-19 09:36
echo 1、内网(静态IP)
echo 2、互联网(动态IP)
var=1

不可以,但是也感谢你。
'var' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
作者: qq7877666    时间: 2025-1-20 00:17
本帖最后由 qq7877666 于 2025-1-20 00:18 编辑
dbug 发表于 2025-1-19 09:45
AI答的:


第一个可以 感谢
作者: 明日之子OxO    时间: 2025-1-20 00:27
丢给AI处理 很方便




欢迎光临 全球主机交流论坛 (https://443502.xyz/) Powered by Discuz! X3.4