中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-06 14:15
48,039 主题排行 / 350,124 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » CHOICE用法........
可打印版本  1,410 / 6
第1楼 necro 发表于 2007-11-19 21:23
初级用户 发帖 8 积分 20
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' 不是内部或外部命令,也不是可运行的程序.

怎么回事呢?
第2楼 lxmxn 发表于 2007-11-19 22:58
版主 发帖 4,938 积分 11,386
用set /p来代替choice吧

第3楼 necro 发表于 2007-11-20 09:41
初级用户 发帖 8 积分 20
多谢版主,我一会就试试。
第4楼 necro 发表于 2007-11-20 21:30
初级用户 发帖 8 积分 20
版主,我按你的方法写了如下代码:

@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中去?
第5楼 lxmxn 发表于 2007-11-20 21:35
版主 发帖 4,938 积分 11,386
对于Windows XP里面的Autoexec.bat文件,除了设置环境变量以及某几个命令,系统不再解释里面的其它命令,所以你写的IF语句无效。

可以将你写的脚本放“启动”文件夹里面,或者在注册表相应位置添加启动项。
第6楼 necro 发表于 2007-11-21 12:09
初级用户 发帖 8 积分 20
..........

看来只有这样了.

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

谢谢。
第7楼 ldr2zjj 发表于 2007-11-21 18:21
初级用户 发帖 95 积分 167
也可以放到启动里边`~让他自动运行啊`?
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023