加急,cmd批处理if语句问题(应该是)
加急,cmd批处理if语句问题(应该是)不加里面嵌套的if的时候(只有最外层那三个判断)可以正常跑,加了那俩嵌套的就跑不动了,死在第一个if那...
加急,cmd批处理if语句问题(应该是)不加里面嵌套的if的时候(只有最外层那三个判断)可以正常跑,加了那俩嵌套的就跑不动了,死在第一个if那
展开
2个回答
展开全部
@echo off
setlocal enabledelayedexpansion
echo,
echo 本地请输1,远程请输2,自定义请输3
echo,
set /p fir=请输入链接目标:
if "!fir!"=="3" (
goto Custom
) else (
if "!fir!"=="1" (
echo,
echo 无密码输1,带密码输2
echo,
set /p lo=选择版本:
if "!lo!"=="1" (
cd /d E:\phpstudy\www\redis
redis-cli -h localhost -p 6379
) else (
cd /d E:\phpstudy\www\redis
redis-cli -h localhost -p 6379 -a 12345
)
) else (
if "!fir!"=="2" (
echo,
echo 无密码输1,带密码输2
echo,
set /p re=选择版本:
if "!re!"=="1" (
cd /d E:\phpstudy\www\redis
redis-cli -h 192.168.1.1 -p 6379
) else (
cd /d E:\phpstudy\www\redis
redis-cli -h 192.168.1.1 -p 6379 -a 12345
)
)
)
)
exit
:Custom
::以下写选择自定义输入后执行的代码
这是修正并优化去除了一些多余命令后的代码。
再来一个继续缩减代码优化的:
@echo off
setlocal enabledelayedexpansion
echo,
echo 本地请输1,远程请输2,自定义请输3
echo,
set /p fir=请输入链接目标:
if "!fir!"=="3" (
goto Custom
) else (
if "!fir!"=="1" (
set host=localhost
set pass=12345
goto Select
) else (
if "!fir!"=="2" (
set host=192.168.1.1
set pass=12345
goto Select
)
)
)
exit
:Select
echo,
echo 无密码输1,带密码输2
echo,
set /p Select=选择版本:
if "!Select!"=="1" (
cd /d E:\phpstudy\www\redis
redis-cli -h !host! -p 6379
) else (
cd /d E:\phpstudy\www\redis
redis-cli -h !host! -p 6379 -a !pass!
)
exit
:Custom
::以下写选择自定义输入后执行的代码
更多追问追答
追问
😂😂大佬呀,我没用过cmd,就是在开redis的时候不想那么麻烦,所以你看上面的改的话怎么改,你说的那种优化看不懂。。
追答
上面有两个版本的代码,您只需更改一下远程IP地址和密码,就可以直接使用了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询