中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-08 12:17
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎么进入第三次类别选择 查看 730 回复 10
楼 主 怎么进入第三次类别选择 发表于 2008-05-10 21:13 ·  中国 江苏 苏州 昆山市 电信
初级用户
积分 84
发帖 30
注册 2007-10-29 18:20
18年会员
UID 101112
性别 男
状态 离线
怎么进入第三次类别选择,比如说选择A进入XX类别然后在选取择B在进入下一类别,我做的只能选择A后就只能执行A类别里的的内容而不能继续选取择下一类别.

C:\Documents and Settings\ylb\桌面
2 发表于 2008-05-10 22:11 ·  中国 广西 中移铁通
银牌会员
★★★
永远的菜鸟
积分 1,335
发帖 574
注册 2007-11-27 12:50
18年会员
UID 103929
性别 男
来自 广西
状态 离线
不知道你的具体要求,我就把我的一个批处理拿出来吧,这个代码是列出当前目录的所有批处理文件,选择文件前面的序号则运行相应的文件
@echo off
setlocal enabledelayedexpansion
type nul>"%temp%\test.txt"
for /f "delims=" %%a in ('dir /s/b/a-d "*.bat"') do (
set /a n+=1
echo !n! "%%~nxa"
>>"%temp%\test.txt" echo !n! "%%a"
)
:aaa
echo.
set /p a=(输入序号运行,Q退出)请选择:
if /i %a%==q del "%temp%\test.txt"&exit
for /f "tokens=1*" %%i in ('type "%temp%\test.txt"^|findstr /i %a%') do (
if %%i==%a% start "" "%%j"
)
goto :aaa
3 发表于 2008-05-11 00:55 ·  中国 江苏 苏州 昆山市 电信
初级用户
积分 84
发帖 30
注册 2007-10-29 18:20
18年会员
UID 101112
性别 男
状态 离线
这个我知道,我的意思是当选择了第一个序列号后不执行里边程序而是还有一个序列号可以选择,这是才执行里边的程序
4 发表于 2008-05-11 01:04 ·  中国 广西 中移铁通
银牌会员
★★★
永远的菜鸟
积分 1,335
发帖 574
注册 2007-11-27 12:50
18年会员
UID 103929
性别 男
来自 广西
状态 离线
一个批处理只能解决一个具体问题,你不把具体情况说出来,不可能有人帮得了你的,建议向神仙求助.
5 发表于 2008-05-11 02:20 ·  中国 江苏 苏州 昆山市 电信
初级用户
积分 84
发帖 30
注册 2007-10-29 18:20
18年会员
UID 101112
性别 男
状态 离线
@echo off

:res

echo 选择1 2 3 为显示不同内容,选择其他数字为退出

set /p i=输入选择:

if %i%==1 echo 我是1 && goto res

if %i%==2 echo 我是2 && goto res

if %i%==3 echo 我是3 && goto res

echo %i%>a.txt

if exist a.txt del a.txt

这个时候我选1的话就会执行1的程序,但我想要的是当我选1后他会继续出现2然后我在选2从而执行2的程序,我这样说还有不明白的吗
6 发表于 2008-05-11 02:31 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
你的代码不能实现你要的效果麽?
7 发表于 2008-05-11 03:21 ·  中国 江苏 苏州 昆山市 电信
初级用户
积分 84
发帖 30
注册 2007-10-29 18:20
18年会员
UID 101112
性别 男
状态 离线
不能,这样说吧我说是想做一个关于<批处理凳陆多个网站>的P,比如说我把网站进行分类
A类是门户网站 像新浪 搜狐等
B类是搜索网站 像百度 谷歌等
然后等我选择了A类后里后又可以选择1打开搜狐,选择2打开新浪网站 就是这样,但我做的只能做到当选择了A类后就不能在选择1了,我在网上找资源找的头都大了一个人也没捉模出来,希望大家帮帮忙,有什么好的思路或知道怎么做的把代码搞上来,先谢了
8 发表于 2008-05-11 03:31 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
:1
set/p choice=A,B:
if /i %choice% equ a (goto 2) else goto 3
echo ERROR&goto 1
:2
set/p gateway=1,2:
if %gateway% equ 1 (start "" iexplore.exe http:\\www.sina.com) else start "" iexplore.exe http:\\www.sohu.com
echo ERROR&goto 2
goto 1

:3
set/p s=1,2:
if %s% equ 1 (start "" iexplore.exe http:\\www.baidu.com) else (start "" iexplore.exe http:\\www.google.com)
echo ERROR&goto 3
goto 1

[ Last edited by pusofalse on 2008-5-11 at 03:33 AM ]
9 发表于 2008-05-11 03:39 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
看起来很繁琐 或许还有更简洁的代码
10 发表于 2008-05-11 04:27 ·  中国 广东 佛山 禅城区 电信
初级用户
积分 87
发帖 42
注册 2008-05-07 23:37
18年会员
UID 118057
性别 男
状态 离线
8楼的不可以吗???
11 发表于 2008-05-11 10:04 ·  中国 广西 百色 中移铁通
银牌会员
★★★
永远的菜鸟
积分 1,335
发帖 574
注册 2007-11-27 12:50
18年会员
UID 103929
性别 男
来自 广西
状态 离线
早说不早解决了嘛
@echo off
color 3f
:begin
cls
echo.&echo A.门户网站 B.搜索网站
:start
echo.
set /p choi1=请输入:
if /i %choi1%==a goto a
if /i %choi1%==b goto b
echo.&echo 输入错误&goto :start

:a
cls
:aa
echo.&echo 1.新浪 2.搜狐
echo.
set /p choi2=请输入(y返回主菜单,n退出):
if /i %choi2%==1 goto :sina
if /i %choi2%==2 goto :sohu
if /i %choi2%==y goto :begin
if /i %choi2%==n goto :eof
echo.&echo 输入错误&goto :aa
:sina
start "" iexplore.exe http:\\www.sina.com
goto :a
:sohu
start "" iexplore.exe http:\\www.sohu.com
goto :a

:b
cls
:ba
echo.&echo 1.百度 2.谷歌
echo.
set /p choi3=请输入(y返回主菜单,n退出):
if /i %choi3%==1 goto :baidu
if /i %choi3%==2 goto :guge
if /i %choi3%==y goto :begin
if /i %choi3%==n goto :eof
echo.&echo 输入错误&goto :ba
:baidu
start "" iexplore.exe http:\\www.baidu.com
goto :b
:guge
start "" iexplore.exe http:\\www.google.com
goto :b
论坛跳转: