这有什么问题吗
bat吧
全部回复
仅看楼主
level 5
Sy哟🌚 楼主
@echo off
:!3
echo 1.电源
set /p a=请输入数字来执行你的操作
if %a%==1 goto 1
pause
:1
echo 1.关机
echo 2.重启
echo 3.返回菜单
set /p !=请输入数字来执行你的操作
if %!%==1 goto !1
:!1
shutdown -s -f -t 0
pause
if %!%==2 goto !2
:!2
shutdown -r -t 0
pause
if %!%==3 goto !3
为何我在set /p != 里面输入了3他还是关机了呢?
难道是我pause用错了?
来人帮忙
2017年06月03日 12点06分 1
level 8
。。。。
2017年06月04日 00点06分 2
level 5
Sy哟🌚 楼主
来人看看还能再加点什么
2017年06月04日 10点06分 3
level 5
Sy哟🌚 楼主
@echo off
title 简易帮手
echo 如需使用,请输入密码:
set /p mima=
if "%mima%"=="192885" goto cg
echo 输入错误,你还有2次机会
ping /n 2 127.0.0.1 >nul
echo 按任意键重新输入密码
pause>nul
cls
goto sb2
:sb2
echo 如需使用,请输入密码:
set /p mima=
if "%mima%"=="192885" goto cg
echo 输入错误,你还有1次机会
ping /n 2 127.0.0.1 >nul
echo 按任意键重新输入密码
pause>nul
cls
goto sb1
:sb1
echo 如需使用,请输入密码:
set /p mima=
if "%mima%"=="192885" goto cg
echo 输入错误……
echo 发现盗号狗,系统即将关机……
ping /n 2 127.0.0.1 >nul
cls
goto C2
:cg
echo 正在登陆中……
ping /n 2 127.0.0.1 >nul
echo 登陆完成!
ping /n 2 127.0.0.1 >nul
cls
goto :!
:!
cls
echo 0.退出
echo 1.电源
echo 2.便捷查询
set /p a=请输入数字来执行你的操作
if %a%==0 goto 0
if %a%==1 goto 1
if %a%==2 goto 2
pause
:0
cls
echo 感谢使用,再见!
ping /n 2 127.0.0.1 >nul
exit
:1
cls
echo 1.关机
echo 2.重启
echo 3.休眠
echo 4.注销
set /p !=请输入数字来执行你的操作
if %!%==1 goto !1
if %!%==2 goto !2
if %!%==3 goto !3
if %!%==4 goto !4
cls
:!1
shutdown -s -f -t 30
cls
echo 是否终止?如果终止关机请输入a 如果需要直接关机请输入b
set /p C=请输入字母来执行你的操作
cls
if %C%==a goto C1
if %C%==b goto C2
:!2
cls
shutdown -r -t 30
:!3
cls
shutdown -h -f
goto !
:!4
cls
shutdown -l
goto !
:C1
shutdown -a
cls
goto !
:C2
shutdown -s -t 0
:2
cls
echo 1.IP地址查询
echo 2.软件查询
echo 3.未完善
echo 4.返回菜单
set /p @=请输入字母来执行你的操作
cls
if %@%==1 goto @1
if %@%==2 goto @2
if %@%==4 goto @4
:@1
cls
ipconfig/all
echo 按下任意键回到菜单
pause>nul
cls
goto !
:@2
cls
echo 请输入目录来打开软件
set /p @2.1=盘[c d e f……]
set /p @2.2=下一目录
set /p @2.3=下一目录
set /p @2.4=下一目录
set /p @2.5=下一目录
set /p @2.6=下一目录
set /p @2.7=下一目录
set /p @2.8=下一目录
set /p @2.9=下一目录
set /p @2.10=下一目录
set /p @2.11=下一目录
:@2start
start ":%@2.1%\%@2.2%\%@2.3%\%@2.4%\%@2.5%\%@2.6%\%@2.7%\%@2.8%\%@2.9%\%@2.10%\%@2.11%"
:@4
cls
goto !
2017年06月04日 10点06分 4
level 13
@echo off
:0
echo 1.电源
set /p a=请输入数字来执行你的操作
if %a%==1 goto 1
goto 0
:1
echo 1.关机
echo 2.重启
echo 3.返回主菜单
set /p !=请输入数字来执行你的操作
if %!%==1 goto 11
if %!%==2 goto 12
if %!%==3 goto 0
goto 1
:11
shutdown -s -f -t 0
goto 0
:12
shutdown -r -t 0
goto 0
2017年06月06日 12点06分 5
level 13
估计你根本不懂if吧……
2017年06月06日 12点06分 6
level 13
IF 判断
全文原创,转载请注明出处:小程936
IF 条件 符合 [ELSE 不符合] 判断条件是否符合,并执行不同的命令。
IF NOT 条件 不符合
可以使用的条件
[/I] 文本A==文本B 判断两个文本是否完全相同。([/I]不区分大小写)
数字A 判断条件 数字B 判断两个数字的关系。(判断条件可以是EQU等于;NEQ不等于;LSS小于;LEQ小于或等于;GTR大于;GEQ大于或等于)
DEFINED 变量名 判断某变量是否存在。
EXIST 文件路径 判断某文件是否存在。
ERRORLEVEL 数字 判断%ERRORLEVEL%是否 大于或等于 数字。(通常情况下,若上一条命令执行成功,%ERRORLEVEL%的值为0,若未成功,值不为0)
CMDEXTVERSION 数字 判断%CMDEXTVERSION%是否 大于或等于数字。(%CMDEXTVERSION%为cmd的版本号)
详细解释
  [/I]     文本A==文本B
不区分大小写  文本相同判断
注:文本A 和 文本B 均不能留空,可参考
#文本A==#
文本B 或 "文本A"=="文本B" 规避错误
注:文本若包含空格需用""括起来,文本不得包含/ \符号,牢记中间有两个等于号==
 数字A 判断条件 数字B
 判断两个数字的关系
 EQU  NEQ  LSS   LEQ   GTR   GEQ
 =    ≠     <    ≤     >     ≥
 等于  不等于  小于  小于或等于 大于  大于或等于
注:必须纯数字,不能留空,不得包含任何特殊符号(包含特殊符号将造成计算逻辑错误)
注:严禁将数字使用双引号括起来!不得包含任何特殊符号!否则肯定计算错误!
错误示例 IF "33" GTR "159" (echo 33比159大) ELSE (echo 159比33大)
正确写法 IF 33 GTR 159 (echo 33比159大) ELSE (echo 159比33大)
注:关于留空错误,可以通过 set /a a=a,b=b 将空变量赋值为0解决。
 IF 条件 (符合) ELSE (不符合)
启用可选项 不符合 之后建议用括号把命令括起来(如上所示)
注:建议在右括号之前留一空格。示例:(goto 1 )
注: ELSE 两边必须留一空格。示例:) ELSE (
即使没有这个条件(数字A 判断条件 数字B),比较数字大小也非常容易
@echo off
:1
set /p n="请输入n="
set /p m="请输入m="
set /a a=n-m,b=m-n
echo 举几个例子,根据两数差是否带负号来判断两数大小关系。
if %n%==%m% (echo %n%等于%m%) else (echo %n%不等于%m%)
if %a%==%b% (echo %n%等于%m%) else (echo %n%不等于%m%)
if %a:~,1%==- (echo %n%小于%m%) else (echo %n%大于或等于%m%)
if %b:~,1%==- (echo %n%大于%m%) else (echo %n%小于或等于%m%)
echo 再举几个not的例子。
if not %n%==%m% (echo %n%不等于%m%)
if not %a:~,1%==- (echo %n%大于或等于%m%)
if not %b:~,1%==- (echo %n%小于或等于%m%)
echo 也可以嵌套到一起。
if %a:~,1%==- (echo %n%小于%m%) else if %a%==%b% (echo %n%等于%m%) else (echo %n%大于%m%)
pause && goto 1
[滑稽]
2017年06月06日 12点06分 7
level 13
另外你所有的if后面直接新标签,如果不输入直接enrer就是严重的bug啊[滑稽]
任何标签结束必须有无条件纯跳转或exit /b
这可是编程规范
2017年06月06日 12点06分 8
1