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
http://www.cn-dos.net/forum/view ... mp;highlight=choice

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


  Quote:
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