Board logo

标题: xp下如何智能启动多程序批处理命令!<圆满结帖> [打印本页]

作者: cjw114     时间: 2005-11-7 20:21    标题: xp下如何智能启动多程序批处理命令!<圆满结帖>
我想做一个批处理文件,实现启动多个程序用。 比如按下1就启动QQ, 按下2就启动IE, 按下3就启动BT 按下回车就退出命令窗口。 拟用Start和GOTO命令实现,请教高手:怎么样才能等待并判断键盘输入?? ---------------------------------------------------------------------- 『第 5 楼』: 请帮我看看这样哪里出问题了,怎么在xp下没反映啊? @ echo 1.启动QQ-1 @ echo 2.启动BT下载 @ echo 3.启动Maxthon浏览器 @ echo 4.启动QQ-2 @ echo 0.退出 choice /c 12340 /m "请选择需要启动的程序代号:" if errorlevel 5 goto end if errorlevel 4 goto qq2 if errorlevel 3 goto myie if errorlevel 2 goto bt if errorlevel 1 goto qq1 :qq2 start D:\Progra~1\Tencent\qq1\CoralQQ.exe :myie start D:\Maxthon\Maxthon.exe :bt start D:\Progra~1\BitComet\BitComet.exe :qq1 start D:\Progra~1\Tencent\qq\CoralQQ.exe :end exit [ Last edited by cjw114 on 2005-11-12 at 00:34 ]

作者: GOTOmsdos     时间: 2005-11-7 20:43
choice 但要用返回码识别的

作者: 220110     时间: 2005-11-7 21:24
请查对你的XP中有没有CHOICE.COM 。

作者: cjw114     时间: 2005-11-7 21:28
没有哦,怎么办?哪里有呢?

作者: 220110     时间: 2005-11-7 21:34
www.cn-dos.net/forum ... Michael朋友送的。(不过在我这XP中运行有点问题)

作者: cjw114     时间: 2005-11-7 21:38
谢谢!

作者: cjw114     时间: 2005-11-7 21:40
咋还是不行捏????急死我鸟! 那个choice感觉不大对劲,xp下变dos窗口变英文了。。 还有其他方法吗? [ Last edited by cjw114 on 2005-11-7 at 21:45 ]

作者: 220110     时间: 2005-11-7 21:51
Originally posted by cjw114 at 2005-11-7 21:40: 咋还是不行捏????急死我鸟! 那个choice感觉不大对劲,xp下变dos窗口变英文了。。 还有其他方法吗? [ Last edited by cjw114 on 2005-11-7 at 21:45 ]
我也是发现这个问题. 得请下 Michael 帮忙指导下.

作者: cjw114     时间: 2005-11-7 22:00    标题: 我又弄了一个,可是只能分两步,有没有更好的办法啊?
@ echo 按下键盘启动QQ1+BT+MyIE程序,再按一下启动QQ2,要退出请关闭此窗口! pause start D:\Progra~1\Tencent\qq\CoralQQ.exe start D:\Progra~1\BitComet\BitComet.exe start D:\Maxthon\Maxthon.exe pause start D:\Progra~1\Tencent\qq1\CoralQQ.exe --------------------------------

作者: Archimonde     时间: 2005-11-8 17:00
按照你的意思,写了一个,仅做参考 @echo off echo 1.启动QQ-1 echo 2.启动BT下载 echo 3.启动Maxthon浏览器 echo 4.启动QQ-2 echo 0.退出 :INPUT set /p Input_=请选择需要启动的程序代号: if %Input_% == "4" goto QQ2 if %Input_% == "3" goto MYIE if %Input_% == "2" goto BT if %Input_% == "1" goto QQ1 if %Input_% == "0" goto END echo 输入了错误参数.请重试. goto INPUT :END @echo on exit :QQ2 start D:\Progra~1\Tencent\qq1\CoralQQ.exe goto END :MYIE start D:\Maxthon\Maxthon.exe goto END :BT start D:\Progra~1\BitComet\BitComet.exe goto END :QQ1 start D:\Progra~1\Tencent\qq\CoralQQ.exe goto END [ Last edited by Archimonde on 2005-11-8 at 17:25 ]

作者: 0401     时间: 2005-11-9 22:13
加一句 set Input_=%Input_:~0,1% 否则输入的字符多出来时会出错~

作者: cjw114     时间: 2005-11-10 12:47
经试验,Archimonde 同志的命令总是出错,无论输入什么字符都不行。 请重新输入

作者: 不得不爱     时间: 2005-11-10 17:54
按照你的意思,写了一个,仅做参考 @echo off echo 1.启动QQ-1 echo 2.启动BT下载 echo 3.启动Maxthon浏览器 echo 4.启动QQ-2 echo 0.退出 :INPUT set /p In=请选择需要启动的程序代号: set In=%In:~0,1% if #%In% ==#4 goto QQ2 if #%In% ==#3 goto MYIE if #%In% == #2 goto BT if #%In% == #1 goto QQ1 if #%In% == #0 goto END echo 输入了错误参数.请重试. goto INPUT :END @echo on exit :QQ2 start D:\Progra~1\Tencent\qq1\CoralQQ.exe goto END :MYIE start D:\Maxthon\Maxthon.exe goto END :BT start D:\Progra~1\BitComet\BitComet.exe goto END :QQ1 start D:\Progra~1\Tencent\qq\CoralQQ.exe :END

作者: cjw114     时间: 2005-11-12 00:31    标题: 感谢Archimonde和q版主,经测试运行正常<结帖>!!
最后应返回 INPUT函数,因此最终代码如下: @echo off echo 1.启动QQ-1 echo 2.启动BT下载 echo 3.启动Maxthon浏览器 echo 4.启动QQ-2 echo 0.退出 :INPUT set /p In=请选择需要启动的程序代号: set In=%In:~0,1% if #%In% ==#4 goto QQ2 if #%In% ==#3 goto MYIE if #%In% == #2 goto BT if #%In% == #1 goto QQ1 if #%In% == #0 goto END echo 输入了错误参数.请重试. goto INPUT :END @echo on exit :QQ2 start D:\Progra~1\Tencent\qq1\CoralQQ.exe goto INPUT :MYIE start D:\Maxthon\Maxthon.exe goto INPUT :BT start D:\Progra~1\BitComet\BitComet.exe goto INPUT :QQ1 start D:\Progra~1\Tencent\qq\CoralQQ.exe goto INPUT