| 
 
Roy 
管理员
 
           專業島民
  
  
积分 4869 
发帖 1633 
注册 2002-12-10 
状态 离线
 | 
 | 
  2003-8-16 00:00 | 
  
 | 
 | 
 
iceboy 
银牌会员
 
     
 
  
 
积分 1681 
发帖 512 
注册 2003-8-2 
状态 离线
 | 
『第 2 楼』:
 
 
使用 LLM 解释/回答一下
  
如果在延时前加上 ctty nul,延时后加上 ctty con,那么延时中按 CTRL+C 就会死机.. 呵呵 
 
    
 
  
  |  
                  
  
                    Somehow somewhere I've got to choose. 
No matter if it is win or lose. |   
 | 
  2003-8-16 00:00 | 
  
 | 
 | 
 
qjiang 
初级用户
 
  
 
  
 
积分 106 
发帖 1 
注册 2003-8-16 
状态 离线
 | 
『第 3 楼』:
 
 
使用 LLM 解释/回答一下
  
choice /c:!q /t:!,10 /n Press q to exit...其中的c:!q 什么意思那么/t:!,10中 !,又是什么意思了,能不能针对这个讲讲了 
 
    
 
  
 |   
 | 
  2003-8-16 00:00 | 
  
 | 
 | 
 
xiaojun 
银牌会员
 
     
 
  
  
积分 2202 
发帖 499 
注册 2003-6-12 
状态 离线
 | 
『第 4 楼』:
 
 
使用 LLM 解释/回答一下
  
就是说在批处理前面用了这个指令后,在我运行bat文件后的前10秒后悔了,按q就退出它的运行了;是这样吗? 谢谢。 
  
 
    
 
  
  |  
                  
  
                    一年四季,枫叶红了又红;人生四季,失去的,还能再来吗?—— ! |   
 | 
  2003-8-16 00:00 | 
  
 | 
 | 
 
hotdog 
中级用户
 
   
 
  
 
积分 411 
发帖 78 
注册 2003-7-27 
状态 离线
 | 
 | 
  2003-8-16 00:00 | 
  
 | 
 | 
 
xiaojun 
银牌会员
 
     
 
  
  
积分 2202 
发帖 499 
注册 2003-6-12 
状态 离线
 | 
『第 6 楼』:
 
 
使用 LLM 解释/回答一下
  
以下是引用xiaojun在2003-8-16 21:31:46的发言: 
就是说在批处理前面用了这个指令后,在我运行bat文件后的前10秒后悔了,按q就退出它的运行了;是这样吗? 谢谢。 
 
  
 
  
 
哪位大侠: 是不是这个意思啊?  
 
    
 
  
  |  
                  
  
                    一年四季,枫叶红了又红;人生四季,失去的,还能再来吗?—— ! |   
 | 
  2003-8-17 00:00 | 
  
 | 
 | 
 
winddeity 
初级用户
 
  
 
  
 
积分 311 
发帖 62 
注册 2003-8-16 
状态 离线
 | 
 | 
  2003-8-21 00:00 | 
  
 | 
 | 
 
willsort 
元老会员
 
          Batchinger
  
 
积分 4432 
发帖 1512 
注册 2002-10-18 
状态 离线
 | 
『第 8 楼』:
 
 
使用 LLM 解释/回答一下
  
Re roy: 
 
    这个方法我从外文书中见到过,但是至今仍然解决不了书中指出的一个缺陷,即:按其它键后倒计时停止,不止Roy有什么办法? 
 
    
 
  
  |  
                  
  
                    ※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得! |   
 | 
  2003-8-21 00:00 | 
  
 | 
 | 
 
下半辈子 
中级用户
 
   
 
  
 
积分 204 
发帖 23 
注册 2003-9-16 
状态 离线
 | 
 | 
  2003-9-16 00:00 | 
  
 | 
 | 
 
roy 
管理员
 
           專業島民
  
  
积分 4869 
发帖 1633 
注册 2002-12-10 
状态 离线
 | 
 | 
  2004-2-2 00:00 | 
  
 | 
 | 
 
Kinglion 
铂金会员
 
        痴迷DOS者
  
 
积分 5798 
发帖 1924 
注册 2003-6-20 来自 金獅電腦軟體工作室 
状态 离线
 | 
『第 11 楼』:
 
 
使用 LLM 解释/回答一下
  
以下是引用hotdog在2003-8-16 22:51:26的发言: 
ctty是msdos里的吗 
 
 
CTTY是DOS的内部命令, 改变用于控制计算机的终端设备。
  
    若想用另一台设备进行命令输入,可用CTTY命令实现。
 
语法
 
    CTTY device
 
参数
 
device 
    指定进行MS-DOS命令输入的备用设备。参数device的有效值为: 
    PRN、LPT1、LPT2、LPT3、CON、AUX、COM1、COM2、COM3和COM4。
 
相关命令
 
    在指定一命令解释程序时可改变输入设备,有关介绍参见 命令。
 
CTTY─注解
 
为CTTY设置串口
 
    在用CTTY命令之前,可先用MODE命令设置串口的波特率、奇偶检验位、位 
数和停止位。
 
不使用MS-DOS的程序与CTTY
 
    很多程序不用MS-DOS管理输入或输出。这些程序直接将输入送到计算机的硬 
件。CTTY命令对这些程序不起作用。它只影响那些利用MS-DOS读输入和显示输 
出的程序。
 
用COMMAND设置终端设备
 
    除了CTTY命令,还可利用COMMAND命令的设备参数来指定输入设备。
 
明白否?  
 
    
 
  
  |  
                  
  
                    熟能生巧,巧能生精,一艺不精,终生无成,精亦求精,始有所成,臻于完美,永无止境! 
金狮電腦軟體工作室愿竭诚为您服务! 
QQ群:8393170(定期清理不发言者) 
个人网站:http://www.520269.cn 
电子邮件:doujiehui@vip.qq.com 
微信公众号: doujiehui 
 |   
 | 
  2004-2-3 00:00 | 
  
 | 
 | 
 
Kinglion 
铂金会员
 
        痴迷DOS者
  
 
积分 5798 
发帖 1924 
注册 2003-6-20 来自 金獅電腦軟體工作室 
状态 离线
 | 
『第 12 楼』:
 
 
使用 LLM 解释/回答一下
  
关于CHOICE命令 
 
    在批处理程序中,提示用户作一选择。显示一指定的提示符并暂停等待用户从 
一组指定的键中作出选择。该命令只能用在批处理程序中。 
 
    有关ERRORLEVEL参数的详细介绍,见 和 命令。 
 
语法 
 
    CHOICE keys]   c,nn]  
 
参数 
 
text 
    指出要在提示符前显示的正文。仅当在提示符前的正文中包括有开关字符 
   (/)作为正文内容时,才要用双引号。如果不指定正文,CHOICE仅显 
    示一个提示符。 
 
开关项 
 
/Ckeys 
    指定提示中可接受的按键。显示时,这些键出现在内,键之间以逗号分隔, 
    最后跟一问号。若不指定/C开关,CHOICE采用隐含值YN。冒号(:)是可 
    选项。 
 
/N 
    让CHOICE不显示提示符,但提示符前的正文仍然显示。若指定了/N开关, 
    所指定的按键仍有效。 
 
/S 
    使CHOICE区别大小写字母。若没指定/S,CHOICE对任何用户指定的 
    键,大小写不作区分。 
 
/Tc,nn 
    在对某一指定关键字作默认设置前,让CHOICE等待一指定秒数的时间。 
    /T转换中的值如下所设: 
 
    c 
        指定等待nn秒后作为默认值的那个字符。该字符必须出现在/C开关后的按 
        键集中。 
    nn 
        指定暂停的秒数。可接受0-99之间的值。若指定为0,表示默认设置前不 
        暂停。 
 
      CHOICE─例子 
 
    为了让用户在批处理文件中见到有关提示的信息, 可在批处理文件用CHOICE 
命令。 
    如, 在批处理文件中采用了以下语法形式: 
 
    choice /c:ync 
 
    则用户在CHOICE运行时,将看到: 
 
    ? 
 
    在上例语句中,加入正文: 
 
    choice /c:ync Yes, No, or Continue 
 
    choice /c:ync Yes, No, or Continue 
 
    CHOICE启动时,用户看到: 
 
    Yes, No, or Continue ? 
 
    去掉提示符后用户所见的信息 
 
    如下例,在批处理程序中用/N转换把提示符去掉: 
 
    choice /n Yes, No, or Continue? 
 
    在CHOICE执行时,用户只见到指定的正文: 
 
    Yes, No, or Continue? 
 
    用了T开关后用户所见的信息 
 
    如果在批处理程序中用以下语句: 
 
    choice /c:ync /t:n,5 
 
    当CHOICE执行时,用户会看到: 
 
    ? 
 
    5秒后,用户没按任何键,CHOICE就选择N且返回一个ERRORLEVEL值2。如果5秒 
内按下某键,CHOICE返回与用户选择相应对的值。 
 
    启动计算机时,若想让用户选择是否要消除C盘的碎片,可在AUTOEXEC.BAT文 
件中加入下列语句: 
 
    choice Defrag drive /ty,5 
    if errorlevel 2 goto SkipDefrag 
    defrag c: 
    :SkipDefrag 
 
    若在5秒内按下N,DEFRAG将不会运行,CHOICE返回ERRORLEVEL值为2。如果5秒 
内没按下N,或选择了Y,则对C盘运行DEFRAG。 
 
在批处理程序中使用CHOICE 
 
    下面的批处理程序演示如何利用CHOICE选项,让用户选择执行三个程序之一: 
MS-DOS编辑器、Microsoft Anti-virus或Microsoft Backup。 
 
    注意,这里IF  ERRORLEVEL语句是按递减序列出的。如果由CHOICE返回 
ERRORLEVEL参数的值大于或等于IF命令所指定的参数,MS-DOS将认为IF语句为真。 
 
    @echo off 
    cls 
    echo. 
    echo A   Microsoft Editor 
    echo B   Microsoft Anti-Virus 
    echo C   Microsoft Backup 
    echo. 
    choice /c:abc Choose an option 
    if errorlevel 3 goto MSBackup 
    if errorlevel 2 goto Msav 
    if errorlevel 1 goto Edit 
 
    :Edit 
    edit 
    goto End 
 
    :Msav 
    msav 
    goto End 
 
    :Msbackup 
    msbackup 
    goto End 
 
    :End 
 
 
 
 
    
 
  
  |  
                  
  
                    熟能生巧,巧能生精,一艺不精,终生无成,精亦求精,始有所成,臻于完美,永无止境! 
金狮電腦軟體工作室愿竭诚为您服务! 
QQ群:8393170(定期清理不发言者) 
个人网站:http://www.520269.cn 
电子邮件:doujiehui@vip.qq.com 
微信公众号: doujiehui 
 |   
 | 
  2004-2-3 00:00 | 
  
 | 
 | 
 
xiaojun 
银牌会员
 
     
 
  
  
积分 2202 
发帖 499 
注册 2003-6-12 
状态 离线
 | 
『第 13 楼』:
 
 
使用 LLM 解释/回答一下
  
请问:批处理为了不显示加了ctty nul 怎么会有错误的提示呢? 
这1段:"choice Defrag drive /ty,5 
    if errorlevel 2 goto SkipDefrag 
    defrag c: 
    :SkipDefrag "  
/ty不能连写吧? 还是...可以这样写?
 
  
 
    
 
  
  |  
                  
  
                    一年四季,枫叶红了又红;人生四季,失去的,还能再来吗?—— ! |   
 | 
  2004-2-3 00:00 | 
  
 | 
 | 
 
willsort 
元老会员
 
          Batchinger
  
 
积分 4432 
发帖 1512 
注册 2002-10-18 
状态 离线
 | 
『第 14 楼』:
 
 
使用 LLM 解释/回答一下
  
Re roy: 
    我的意思是想办法只屏蔽非法按键,而非所有按键对倒计时的影响;即使用DEBUG修改CHOICE的拷贝也再所不惜。
 
  
 
    
 
  
  |  
                  
  
                    ※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得! |   
 | 
  2004-2-3 00:00 | 
  
 | 
 | 
 
willsort 
元老会员
 
          Batchinger
  
 
积分 4432 
发帖 1512 
注册 2002-10-18 
状态 离线
 | 
『第 15 楼』:
 
 
使用 LLM 解释/回答一下
  
Re xiaojun: 
    ctty 上文中已有所说明
 不使用MS-DOS的程序与CTTY 
 
    很多程序不用MS-DOS管理输入或输出。这些程序直接将输入送到计算机的硬 
件。CTTY命令对这些程序不起作用。它只影响那些利用MS-DOS读输入和显示输 
出的程序。 
 
    ctty nul即将系统输入输出权交给空设备,可屏蔽MS-DOS管理的一切输出,包括错误消息,你的情况可以具体说明一下吗?
 
    choice 默认使用Y,N作为应答选项,以上用法是正确的。
 
    KINGLION的文本取自MSDOS说明文档,有相当条理和权威,可以多从中学习学习。
 
  
 
    
 
  
  |  
                  
  
                    ※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得! |   
 | 
  2004-2-3 00:00 | 
  
 |