[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[注册表类] 求分析批处理命令IF GOTO

本帖最后由 lky216 于 2012-6-20 15:58 编辑

如下代码
1.选择菜单6,它会运行菜单6和菜单7,因为菜单6运行玩后,按任意键后,运行到菜单7。
2.而选择菜单7,后面没有了,也就是菜单7而已

1.怎么办的好方活才能选择菜单6,不运行菜单七(注:pause改为exit就不会了,还是都不加Pause好了。。)
2.另求,已经存在是否替换 怎么强制替换,谢谢!

代码简略如下:
  1. @echo off&
  2. ::选择菜单
  3. set /p choice=请选择:
  4. if /i "%choice%"=="6" goto 6
  5. if /i "%choice%"=="7" goto 7
  6. ::菜单六------------------------------------------------------------------------------------------------------------------
  7. :6
  8. reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List" /v 19006:TCP /t REG_SZ /d 19006:TCP:*:Enabled:19006"
  9. reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List" /v D:\ZoneServerGroup\rungate\GateServer\ChinGateServer.exe /t REG_SZ /d D:\ZoneServerGroup\rungate\GateServer\ChinGateServer.exe:*:Enabled:ChinGateServer
  10. pause
  11. ::菜单七------------------------------------------------------------------------------------------------------------------
  12. :7
  13. reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List" /v 19006:TCP /t REG_SZ /d 19006:TCP:27.154.56.194/255.255.255.255:Enabled:19006"
  14. reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List" /v D:\ZoneServerGroup\rungate\GateServer\ChinGateServer.exe /t REG_SZ /d D:\ZoneServerGroup\rungate\GateServer\\ChinGateServer.exe:27.154.56.194/255.255.255.255:Enabled:ChinGateServer
  15. pause
复制代码

一般是在每个菜单末尾加goto :eof或exit/b,强制替换?你是指添加注册表项的时候吗?加个/f参数就行了吧。
看得多说得多,远比不上写得多。

TOP

本帖最后由 sunzhiguolu 于 2012-6-20 17:14 编辑

回复 2# weichenxiehou
代码不必变化,在标签6,7的后面再加一个goto语句即goto End
下一个标签放在最后位置:
:End
exit

TOP

回复 3# sunzhiguolu
请学习goto :eof的作用,批处理有:eof这个批处理默认标签,表示文件尾。
看得多说得多,远比不上写得多。

TOP

回复 2# weichenxiehou


    /f 在reg add 后面不行 代码后面的/v那些有/旁边也不行

TOP

回复 5# lky216
一般是加到每条reg add命令的最后。
看得多说得多,远比不上写得多。

TOP

  1. @echo off
  2. :菜单
  3. cls
  4. set /p choice=请选择:
  5. if /i "%choice%"=="6" goto 6
  6. if /i "%choice%"=="7" goto 7
  7. goto 菜单
  8. :6
  9. echo 我是标签 6
  10. pause
  11. goto 菜单
  12. :7
  13. echo 我是标签 7
  14. pause
  15. goto 菜单
复制代码
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 6# weichenxiehou


    几乎空格的地方都弄了,除了"reg add"这个空格,不行啊,亲

TOP

回复 7# cjiabing


    这个方法不错,跳回菜单,不过cls是清除显示的哦,会删掉前面和后面的显示ECHO

TOP

返回列表