|
scriptor
银牌会员
积分 1187
发帖 555
注册 2006-12-21
状态 离线
|
『楼 主』:
自写的一个choice 功能
对于没有choice.exe 的兄弟们,这是一个小玩意儿
choice.bat
@echo off
echo please enter y or no to continue :: y/ n is jumping switch, you can also change this prompt.
set /p choice=
if {%choice%}=={} echo You entered nothing.
if {%choice%}=={y} goto :yes :: one switch else (
if {%choice%}=={n} goto :no :: another switch else (
echo you entered an identifiable word.
)
)
echo press anykey to exit.
pause >nul
:yes
echo yes
echo press anykey to exit.
pause >nul
:no
echo no
echo press anykey to exit.
pause >nul
[ Last edited by scriptor on 2006-12-23 at 02:47 PM ]
|
|
2006-12-24 03:38 |
|
|
scriptor
银牌会员
积分 1187
发帖 555
注册 2006-12-21
状态 离线
|
『第
2 楼』:
Remark
Quote: | Originally posted by scriptor at 2006-12-23 14:38:
对于没有choice.exe 的兄弟们,这是一个小玩意儿
choice.bat
@echo off
echo please enter y or no to continue :: y/ n is
set /p choice=
if {%choice%}=={} echo You entered n ... |
|
The symbol "::" just is a remark.
By the way , i hope anyone can create a new batch file to reach your own purpose. But not just follow the article.
Be Imaging by youself.
Thanks, it's my fool opinion. Any wrong , please point out mistakes so that they can be corrected.
Many thanks!
|
|
2006-12-24 03:44 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
3 楼』:
问题很多。
1、:yes 子程序段和 :no 程序段没有相应的跳转语句 goto .
2、if 加上 /i 参数可以避免输入大写的 Y / N 导致程序显示错误 .
3、就是版面吧,感觉比较乱 .
几点小建议,兄勿怪 .
|
|
2006-12-24 04:36 |
|
|
scriptor
银牌会员
积分 1187
发帖 555
注册 2006-12-21
状态 离线
|
『第
4 楼』:
哦??
Quote: | Originally posted by lxmxn at 2006-12-23 15:36:
问题很多。
1、:yes 子程序段和 :no 程序段没有相应的跳转语句 goto .
2、if 加上 /i 参数可以避免输入大写的 Y / N 导致稠... |
|
我在我的机器上调试通过,
1、:yes 子程序段和 :no 程序段没有相应的跳转语句 goto .
有goto 的啊
关于第二点本人完全接受,多谢指点.
第三点我保留意见,呵呵
|
|
2006-12-24 04:52 |
|
|
zh159
金牌会员
积分 3687
发帖 1467
注册 2005-8-8
状态 离线
|
『第
5 楼』:
@echo off
echo please enter y or no to continue :: y/ n is jumping switch, you can also change this prompt.
set /p choice=
if {%choice%}=={} echo You entered nothing.
if {%choice%}=={y} goto :yes :: one switch else (
if {%choice%}=={n} goto :no :: another switch else (
echo you entered an identifiable word.
)
)
echo press anykey to exit.
pause >nul
这里没有跳转语句,会继续执行下面的命令
:yes
echo yes
echo press anykey to exit.
pause >nul
这里没有跳转语句,会继续执行下面的命令
:no
echo no
echo press anykey to exit.
pause >nul
|
|
2006-12-24 08:23 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
6 楼』:
zh159 兄已经帮我说了,我就不必多说了。
|
|
2006-12-24 08:29 |
|
|
bg
初级用户
积分 118
发帖 34
注册 2006-1-10
状态 离线
|
『第
7 楼』:
这个有很大的用处吗?
输入Y/N还要按回车才能接着运行。
有没有哪位兄弟编个不用回车就能接着运行的?
|
|
2006-12-24 09:08 |
|
|
hake
初级用户
积分 103
发帖 43
注册 2006-12-22
状态 离线
|
『第
8 楼』:
set /p choice=
这是什么意思?
|
|
2006-12-24 09:40 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
9 楼』:
Quote: | Originally posted by bg at 2006-12-23 20:08:
这个有很大的用处吗?
输入Y/N还要按回车才能接着运行。
有没有哪位兄弟编个不用回车就能接着运行的? |
|
回车是确认,不回车怎么继续运行呢?
|
|
2006-12-24 10:02 |
|
|
zh159
金牌会员
积分 3687
发帖 1467
注册 2005-8-8
状态 离线
|
『第
10 楼』:
Quote: | Originally posted by bg at 2006-12-23 20:08:
这个有很大的用处吗?
输入Y/N还要按回车才能接着运行。
有没有哪位兄弟编个不用回车就能接着运行的? |
|
用2003的 choice.exe
|
|
2006-12-24 10:21 |
|
|
scriptor
银牌会员
积分 1187
发帖 555
注册 2006-12-21
状态 离线
|
『第
11 楼』:
回答
Quote: | Originally posted by hake at 2006-12-23 20:40:
set /p choice=
这是什么意思? |
|
这是接受你的键盘的输入,
同时choice 这个变量旧代表了你的选择
那么程序就会按照你的选择执行相应的命令.
更多了解,输入
set /?
再查看
|
|
2006-12-24 11:53 |
|
|
scriptor
银牌会员
积分 1187
发帖 555
注册 2006-12-21
状态 离线
|
『第
12 楼』:
注意了!!
我写的这个是在你的系统里没有choice.exe的时候可以用的
我的机器里就没有,在每次编程要询问用户的意图时候,没有choice.exe很不方便,
所以就造了这个choice.bat来代替.
win 98
里面有choice.exe,可以到那里把它靠到你的机器,也行.如果不能的话 ,
我想这是一个好的选择!
|
|
2006-12-24 11:57 |
|
|
win2ye
初级用户
积分 58
发帖 22
注册 2005-12-15
状态 离线
|
『第
13 楼』:
Quote: | Originally posted by zh159 at 2006-12-24 10:21:
用2003的 choice.exe |
|
但是2003的 choice.exe 只能在XP以上的系统中使用
|
|
2006-12-24 23:05 |
|
|
win2ye
初级用户
积分 58
发帖 22
注册 2005-12-15
状态 离线
|
『第
14 楼』:
Quote: | Originally posted by lxmxn at 2006-12-24 04:36:
问题很多。
1、:yes 子程序段和 :no 程序段没有相应的跳转语句 goto .
2、if 加上 /i 参数可以避免输入大写的 Y / N 导致稠... |
|
学习了
|
|
2006-12-24 23:08 |
|