中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 请教DOS菜单问题 上一主题 | 下一主题
miscellaneous
新手上路





积分 8
发帖 3
注册 2008-5-27
状态 离线
『楼 主』:  请教DOS菜单问题

因为工作原因,需要用到很多dos的小程序,如果每次用U盘进入dos再打命令执行,感觉比较麻烦,特别是一些还有好多子目录。

不知道能不能做一个dos执行的bat或者其他程序,进入dos有执行它,就能出现U盘里面程序的一个菜单(清单一样的),然后用方向键或者Tab键选择相应的程序就能执行?当然了,菜单的路径参数之类要实现写好。

不知道这个能用dos实现么?不需要一进dos就启动,因为有时候还要执行其他的东西。

2008-5-27 17:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
sqcxwl
初级用户





积分 24
发帖 9
注册 2008-3-24
状态 离线
『第 2 楼』:  

set /p

2008-5-27 17:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
sqcxwl
初级用户





积分 24
发帖 9
注册 2008-3-24
状态 离线
『第 3 楼』:  

比如

@echo off
set /p  xz1="请选择:(Y,N)"
if exist %xz1%=="Y" goto ks
if exist %xz1%=="N" goto end

2008-5-27 17:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
miscellaneous
新手上路





积分 8
发帖 3
注册 2008-5-27
状态 离线
『第 4 楼』:  

感谢楼上的兄弟解答,也许我说得不清楚吧,按照你说的好像没反应

我现在是有一个U盘启动盘,在U盘下面有RST.exe,Ghost11.exe,aflash2.exe几个DOS程序。将电脑选择从U盘启动进入DOS后,我想输入一个批处理命令,然后会出来一个菜单界面,上面列出RST,Ghost,aflash;然后我用方向键或Tab键选中想执行的菜单,回车,然后就会执行相应的Dos程序。

我在Dos按照你上面的执行,没有什么反应~

2008-5-27 18:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 5 楼』:  

集自动判断u盘盘符、判断是否插入、手动选择执行文件于一体的批处理:
@echo off&setlocal enabledelayedexpansion
for /f "delims=驱动器:\" %%i in ('fsutil fsinfo drives^|more') do fsutil fsinfo drivetype %%i:|findstr "移动">nul&&set str=%%i
if exist %str%: (
   for /f "delims=" %%i in ('dir /s /a-d /b %str%:\*.exe') do (
       set /a n+=1&set _!n!=%%i&set var=!var! [!n!] %%~nxi
   )
   ) else (
   echo 经检测U盘未插入或未就绪,请按键退出程序。
   pause>nul&goto :eof
)
:set
cls&echo !var:~1!
echo.
echo 请选择要运行的程序序号。
echo.
set /p select=在此输入:
if "%select%"=="" goto set
echo %select%|findstr "[^0-9]">nul&&goto wrong
start "" "!_%select%!"&goto :eof
:wrong
echo 输入有误,请正确输入!&ping /n 2 127.1>nul&goto set
唯一就是不能用于纯dos下。



批处理之家新域名:www.bathome.net
2008-5-27 18:49
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『第 6 楼』:  

输入文件夹的头几个字母.
然后按几下tab..
可以方便一点


ps:可以直接把他们的路径添加到PATH里

2008-5-27 19:30
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hulongzhuo
中级用户




积分 294
发帖 135
注册 2007-3-9
状态 离线
『第 7 楼』:  

用WBAT吧,这个很好的

编写P处理存为DOS.BAT
@echo off
:top
cls
call w.bat box @dos.bat:menu
if "%?%"=="1" goto RST
if "%?%"=="2" goto GHOST
if "%?%"=="3" goto AFLASH
goto exit
:menu
============= 请选择 =============
                         [1.RST      ]
                         [2.GHSOT ]
                         [3.AFLASH]
::

:RST
rst.exe
goto exit

:GHOST
ghost11.exe
goto exit

:AFLASH
aflash2.exe
goto exit

:exit

另外必须要有WBAT的三个文件,方能运行.

2008-5-28 10:37
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hulongzhuo
中级用户




积分 294
发帖 135
注册 2007-3-9
状态 离线
『第 8 楼』:  

点击下载:WBAT
http://upload.cn-dos.net/img/476.rar

2008-5-28 10:43
查看资料  发短消息 网志   编辑帖子  回复  引用回复
miscellaneous
新手上路





积分 8
发帖 3
注册 2008-5-27
状态 离线
『第 9 楼』:  

非常感谢
学习了

2008-5-28 16:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: