Board logo

标题: CHOICE用法........ [打印本页]

作者: necro     时间: 2007-11-19 21:23    标题: CHOICE用法........

我做了两个更改IP地址的批处理文件,现在想再做一个批处理文件实现我需要运行哪个更改IP的文件.

如两个更改IP的文件分别为:

C:\test\a.bat
C:\test\b.bat

我想做个c.bat,运行后提示我按Y执行a.bat,按N执行b.bat.

在网上查了不少批处理的命令与资料,苦于新手不得要领,还请各位高手指教。

我看网上不少帖子中都说批处理命令中的"choice"命令,加/c参数,可以实现根据输入值不同而执行不同的结果,可我设置后并不好用,在winXP在执行含有choice的文件,一闪即逝,根据没有等我输入参数,而在cmd下执行这个bat却提示我:'choice' 不是内部或外部命令,也不是可运行的程序.

怎么回事呢?
作者: lxmxn     时间: 2007-11-19 22:58
用set /p来代替choice吧
@echo off
set /p choice=请输入:
if /i "%choice%"=="y" C:\test\a.bat
if /i "%choice%"=="n" C:\test\b.bat

作者: necro     时间: 2007-11-20 09:41
多谢版主,我一会就试试。
作者: necro     时间: 2007-11-20 21:30
版主,我按你的方法写了如下代码:

@echo off
set /p choice=家用IP请按Y,公司IP请按N:
if /i "%choice%"=="y" D:\IP_config_B_CN.bat
if /i "%choice%"=="n" D:\IP_config_A_CN.bat

这样做的确可以实现我的要求,我把这个代码加下了Autoexec.bat文件里,希望系统启动时执行这个,可是我重启机器后并没有反应。。。。

你知道是什么原因吗?难道要我把批处里文件加在startup中去?
作者: lxmxn     时间: 2007-11-20 21:35
对于Windows XP里面的Autoexec.bat文件,除了设置环境变量以及某几个命令,系统不再解释里面的其它命令,所以你写的IF语句无效。

可以将你写的脚本放“启动”文件夹里面,或者在注册表相应位置添加启动项。
作者: necro     时间: 2007-11-21 12:09
..........

看来只有这样了.

按上面的代码我必须按Y或N或然后回车才执行,有没有办法让我输入Y或N或就自动执行,无须我再按回车。

谢谢。
作者: ldr2zjj     时间: 2007-11-21 18:21
也可以放到启动里边`~让他自动运行啊`?