全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 104|回复: 2

[美国VPS] 这段批处理怎么自动填写输入1

[复制链接]
发表于 8 小时前 | 显示全部楼层 |阅读模式
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:39 编辑

echo 1、内网(静态IP)
echo 2、互联网(动态IP)
var=1
if %var%==1 goto ip1
if %var%==2 goto ip2
:ip1
cls
发表于 半小时前 | 显示全部楼层
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”,不太美观。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-1-19 10:30 , Processed in 0.060254 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表