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

回复 15楼 的帖子

执行的很多!比如:
if /i "%choice2%"=="A" goto optimize
if /i "%choice2%"=="B" goto Restore
if /i "%choice2%"=="C" goto ntfs
if /i "%choice2%"=="D" goto IE
if /i "%choice2%"=="E" goto virus
if /i "%choice2%"=="F" goto msdos
if /i "%choice2%"=="G" goto Drives
if /i "%choice2%"=="H" goto minfo
if /i "%choice2%"=="I" goto info
if /i "%choice2%"=="J" goto wmic
if /i "%choice2%"=="K" goto wd
if /i "%choice2%"=="L" goto bat
if /i "%choice2%"=="M" goto dy
if /i "%choice2%"=="N" goto set
if /i "%choice2%"=="O" goto ps
if /i "%choice2%"=="P" goto label
if /i "%choice2%"=="S" goto other
if /i "%choice2%"=="T" goto regsvr
if /i "%choice2%"=="U" goto mscon
if /i "%choice2%"=="V" goto 2000reg
if /i "%choice2%"=="W" goto 2000Restore
if /i "%choice2%"=="Q" goto killport
if /i "%choice2%"=="R" goto openport
if /i "%choice2%"=="Y" goto start

TOP

按楼主的要求模拟一段代码:
  1. @echo off
  2. set /p choice=请选择项目(a b c):
  3. :lp
  4. if defined choice (
  5.   set "a=%choice:~,1%"&set "choice=%choice:~1%"
  6.   call,goto %%a%%
  7. )
  8. echo 所有项目都执行完毕&pause>nul&goto :eof
  9. :a
  10. echo 现在执行项目optimize
  11. ping /n 3 127.1>nul&goto lp
  12. :b
  13. echo 现在执行项目restore
  14. ping /n 3 127.1>nul&goto lp
  15. :c
  16. echo 现在执行项目ntfs
  17. ping /n 3 127.1>nul&goto lp
复制代码
1

评分人数

***共同提高***

TOP

  1. @Echo Off
  2. SetLocal ENABLEDELAYEDEXPANSION
  3. :menu
  4. Set String=l1,l2,l3,l4
  5. Set /P Input="Input:\>"
  6. For %%i in (%String%) Do (
  7.     Echo !Input!|Find /i "%%i" >nul&&Set Input=!Input:%%i=!&&Call :%%i
  8. )
  9. pause
  10. goto menu
  11. :l1
  12. echo %~0
  13. Goto :eof
  14. :l2
  15. echo %~0
  16. Goto :eof
  17. :l3
  18. echo %~0
  19. Goto :eof
  20. :l4
  21. echo %~0
  22. Goto :eof
复制代码

TOP

原帖由 batman 于 2009-2-22 23:24 发表
按楼主的要求模拟一段代码:@echo off
set /p choice=请选择项目(a b c):
:lp
if defined choice (
  set "a=%choice:~,1%"&set "choice=%choice:~1%"
  call,goto %%a%%
)
echo 所有项目都执行完毕&pause>nu ...

非常感谢版主,热心的帮助,代码实现了需要的功能。
这个代码本身可以逐一输入,逐一执行的。那么是否可以同时输入,分别执行?化繁为简,提高效率嘛,于是有了这个代码的需求!
举个例子吧:假如你想叫一个人帮你买手机、相机、U盘。我想你不会叫他手机买了回来后,再叫他去帮你买相机吧,相机买了以后再叫他买U盘吧?现实不可能如此,但是批处理执行的时候好多情况如此!所以告诉他要买的东西列表,一起买回来即可啦!(汗死,什么例子嘛,这么别扭!@¥[email=#@%]#@%[/email],没法好多批就是这么做的。。。所以有了这个思考!)

TOP

完成任务

本来想用“%var:~0,1%”拆分提取输入字符的,但对这个不熟悉,请高手们指教。
弄来弄去还真的只是懂得FOR而已了,看来要加强学习。
  1. @echo off
  2. set /p var=请输入数字(有多个数字时用空格隔开):
  3. for %%i  in (%var%) do call  :%%i
  4. pause
  5. :1
  6. echo 偶看?
  7. goto :eof
  8. :2
  9. echo NND
  10. goto :eof
  11. :3
  12. echo ok!~
  13. goto :eof
复制代码

TOP

回复 19楼 的帖子

如果有人帮你解决了问题,建议进行以下操作:

1、修改帖子标题,在标题最前面注明:【已结】

2、给竭尽所能帮你的人、正确回答问题的人加分(你自己的积分不会减少)以示感谢,虽然大家来论坛是为了学习而不是为了积分,但加分聊表谢意总是或多或少能够让花费了时间和精力无私帮助你的人略感欣慰。

3、如果你是在别人的提示下自己写出了代码,请把自己的方法贴出来跟大家分享一下,也许他人可以帮你指出代码中的不足之处、告诉你如何提高执行效率等,有交流才能更快地进步。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表