Board logo

标题: 求助批处理选择Y/N [打印本页]

作者: flybird2020     时间: 2007-4-13 11:17    标题: 求助批处理选择Y/N

实在是对不起大家~菜菜看了一下午也没找到我能用上的~发帖占用了大家的时间~希望大家能理解。。。
我想要做一个BAT,要求如下:

打开后选择下一步是否要打开1.txt,如果是Y,打开1.txt,再接下一步询问是否打开2.txt,如果这一步我选N,就跳过,下一步询问是否打开3.txt,以此类推,可能会有几十步询问Y还是N

不知道能否实现。。。菜菜真是太菜了,给大家添麻烦了,非常抱歉
作者: 0451lym     时间: 2007-4-13 11:44
是纯DOS,还是CMD用
干什么用?说详细点几十步有多少,无限的吗?

看我说的思路对不对:
查找*.TXT>文件列表>菜单调用>鼠标选择>打开文件>退回到菜单继续选择.....>最后菜单退出!
作者: flybird2020     时间: 2007-4-13 11:50


  Quote:
Originally posted by 0451lym at 2007-4-12 10:44 PM:
是纯DOS,还是CMD用
干什么用?说详细点几十步有多少,无限的吗?

看我说的思路对不对:
查找*.TXT>文件列表>菜单调用>鼠标选择>打开文件>退回到菜单继续选择.....>最后菜单退出!

CMD用,我只是打个比方是用来打开TXT
其实是想调用BAT文件的
不用查找,都在这同一级目录下
我就想做个N步选择的BAT
比如我需要一周对一些文件做一次操作
也许这次要跳过2.BAT的操作去做3.BAT的
也许下次不要跳过
所以想问下怎么做连续的Y/N选择
不是无限步的
假设有30个BAT文件等我选择是跳过还是运行吧

感谢大大的回复,不知道怎么回事,我在这里看帖总是服务器报错
这一下午急的我一身汗
作者: flybird2020     时间: 2007-4-13 12:01
暂时是这样写的~不知道思路对不对


SET /P ST=请输入 Y(xx1)或N(xx2):
echo.
if /I "%ST%"=="Y" goto xx1
if /I "%ST%"=="N" goto xx2

:xx1
start tt2.txt
goto xx2

:xx2
SET /P ST=请输入Y(xx3)或N(xx4):
echo.
if /I "%ST%"=="Y" goto xx3
if /I "%ST%"=="N" goto xx4

:xx3
start tt3.txt
goto xx4
:xx4
SET /P ST=请输入Y(xx5)或N(xx6):
echo.
if /I "%ST%"=="Y" goto xx5
if /I "%ST%"=="N" pause.
:xx5
start tt5.txt
pause.
作者: 0451lym     时间: 2007-4-13 12:08
我抛快石头(不知道对不对):
假设BAT有 A B C D E F G ............(不限个数)

@ECHO OFF
IF "%1"=="" CALL %0 A B C D E F G..........
:00
shift
IF "%0"=="" GOTO END
命令行1
命令行2
命令行3........
GOTO 00
:END
EXIT

[ Last edited by 0451lym on 2007-4-13 at 12:15 PM ]
作者: Climbing     时间: 2007-4-13 21:45
其实一个菜单比挨个提问更简单。将所有的批处理列成一个菜单,用户想执行哪个就执行哪个,执行完成后再返回菜单。

可以使用wbat的list列表功能来实现。
作者: lp1129     时间: 2007-4-14 02:09
小菜一碟,

把你的文本按1.txt 2.txt 3.txt.........排列,有一万个都可以

@echo off
set nub=1
:1
echo 是否打开文本%nub%
SET /P ST=请输入 Y(打开)或N(不打开):
echo.
if /I "%ST%"=="N" set /A nub=%nub%+1 & goto 1
if /I "%ST%"=="Y" start %nub%.txt & set /A nub=%nub%+1 & goto 1
echo 输入有误请重新输入 & goto 1
作者: vkill     时间: 2007-4-14 04:37
随便看一个p都有这样的答案
作者: fyb198351     时间: 2007-4-14 14:58
又学会一点东西了~~~