批处理如何根据输入的内容来运行不同的命令

我想根据输入的内容来进入不同盘符,比如说用户输入h,就执行命令"h:";比如说他输入z,就执行"z:"。一般我们都是设置choice来跳转到不同的命令,可是如果是以上的问... 我想根据输入的内容来进入不同盘符,比如说用户输入h,就执行命令"h:";比如说他输入z,就执行"z:"。一般我们都是设置choice来跳转到不同的命令,可是如果是以上的问题的话,从A到Z我岂不是要写26条命令?能不能有比较简单的方只用一条语言就搞定的?能不能说根据输入的内容来替换命令的内容,然后再执行。。。谢谢啦!! 展开
 我来答
yyykkkyyyy
2010-05-30 · TA获得超过3136个赞
知道大有可为答主
回答量:2691
采纳率:40%
帮助的人:3316万
展开全部
楼主有一个观点好像说的我不能赞同,那就是批处理命令可以写得详细一些而尽量使运行时方便,当然如在满足运行方便同时又使代码简单当然是写批处理者所追求的
现在的命令行,已经用 set/p 完全取代了choice了,并且更方便,更优越,本身set/p 变量名=
之后可显示要提示的信息(当然如提示信息太多或要分多行,可以在此之前用echo命令让它显示出来)然后可以接受键盘输入的回车之前的多个字符,也就是说你可以输入一条完整的命令如
.....
set /p aa=请输入命令:
copy a.txt b.txt ;本行假定运行时输入的
.....
%aa%
....

这里的%aa%就代替了运行时输入的copy a.txt b.txt 。你说的转不同盘符就更不在话下了,当然一般都不会这么用来输入完整的命令,不然要批处理干什么?更多时候用在GOTO上,那么使用时只需输入一个数或字母就能执行一条或多条命令如:

echo 1 ...
echo 2 ...
echo 3 ...
...
echo.
set /p aa=请选择 (1-10)回车:
goto b%aa%

:b1
...系列命令...

:b2
...系列命令...

:b3
...系列命令...
云上他
推荐于2016-06-06 · TA获得超过3551个赞
知道小有建树答主
回答量:1499
采纳率:0%
帮助的人:798万
展开全部
可以啊,用变量存用户输入的内容,在用变量即可
@echo off
set /p panfu=请输入要进入的盘符:
rem 下面这句切换到用户输入的盘
cd /d %panfu%
echo 已切换到%panfu%
rem 运行在那个盘下要执行的命令,如dir
pause>nul
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cydfli
2010-05-30 · TA获得超过406个赞
知道小有建树答主
回答量:273
采纳率:0%
帮助的人:209万
展开全部
set /p drivename=请输入你要打开的盘的盘的标签:
:checkdrive
for %%a in (c: d: e: f: g: h: i: j: k: l: m: n: o: p: q: r: s: t: u: v: w: x: y: z:) do (vol %%a 2>nul)|find "%drivename%"&&set drive=%%a
if not defined drive echo 没有检查到你的盘,请检查你的盘是否插好……&pause>nul&goto :checkdrive else goto :go
:go

这个程序是我用来实现优盘自动化的程序中的函数之一,你可以用它来定位你盘
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式