Board logo

标题: DOS下选择命令choice的发生了错误,请高手帮忙 [打印本页]

作者: dwj0    时间: 2005-6-21 19:30     标题: DOS下选择命令choice的发生了错误,请高手帮忙

[这个贴子最后由dwj0在 2005/06/21 11:30am 第 1 次编辑]

作了一张ghost自动恢复盘,但用choice选择是时候不论我选择什么,它都是启动第一项
大家帮我看看,下面是我编好的autoexec.bat文件,哪个地方不对了
@ECHO OFf
MSCDEX.EXE /D:mscd001 /L:%cdrom%
findcd /s >nul
if exist %cdrom1%\ghost\xpwn.GHO set romcd=%cdrom1%
if exist %cdrom2%\ghost\xpwn.GHO set romcd=%cdrom2%
if exist %cdrom3%\ghost\xpwn.GHO set romcd=%cdrom3%
if exist %cdrom4%\ghost\xpwn.GHO set romcd=%cdrom4%
tw >nul
cls
echo.
echo               1、 还原 C 盘为 Windows XP
echo               2、 备份 C 盘为 f:\c.gho
echo               3、 启动 Ghost 手动操作
echo               4、 查看系统的软件和设置
echo               5、 退出到 DOS 命令行
ECHO               6、 重新启动
ECHO.
ECHO.
choice/c:123456 /n /t:1,30 .         30秒以后自动还原windows xp,按任意健停止倒计时
if errorlevel 1 goto GHOxp
if errorlevel 2 goto save
if errorlevel 3 goto ghost
if errorlevel 4 goto read
if errorlevel 5 goto dos
if errorlevel 6 goto shutdown
:GHOxp
CLS
ECHO.
ECHO.
ECHO.
ECHO                           还原 windows xp
ECHO.
ECHO                        载入程序,请稍候 !!!
%romcd%\ghost\GHOST.exe -clone,mode=pload,src=%romcd%\ghost\xpwn.gho:1,dst=1:1 -fro -sure -rb
goto error
:save
CLS
ECHO.
ECHO.
ECHO.
ECHO                           备份 C 盘
ECHO.
ECHO                        载入程序,请稍候 !!!
%romcd%\ghost\GHOST.exe -clone,mode=pdump,src=1:1,dst=1:4:\c.gho -z5 -auto -fro -sure -rb
goto error
:ghost
ctmouse >nul
CLS
ECHO.
ECHO.
ECHO.
ECHO                           启动 Ghost
ECHO.
ECHO                        载入程序,请稍候 !!!
%romcd%\ghost\ghost.exe
goto shutdown
:read
cd tools
edit %romcd%\ghost\xpread.txt
goto shutdown
:shutdown
shutdown r >nul
:DOS
……
作者: xzf    时间: 2005-6-22 15:14     标题: DOS下选择命令choice的发生了错误,请高手帮忙

发贴前注意要看置顶的发贴规则,不要再发错版块了,
作者: general    时间: 2005-6-23 23:40     标题: DOS下选择命令choice的发生了错误,请高手帮忙

choice根本就不是DOS下的命令,只是在2000sever和2003server下才有的命令
作者: general    时间: 2005-6-23 23:42     标题: DOS下选择命令choice的发生了错误,请高手帮忙

下面的是M$官方的介绍,或许对你有帮助
Choice
在批处理程序中,通过显示提示信息并暂停批处理程序,用户可以从一组用户选项键中进行选择。
语法
choice [/c [Choices]] [/n] [/cs] [/tTimeout/dChoice] [/mText]
参数
/c Choices
指定用户选项键。显示时,选项键由逗号分隔,出现在括号([])中,后面跟着问号。如果未指定 /cChoices,默认情况下,choice 显示使用 [Y, N]。
/n
隐藏用户选项键。如果使用此命令行选项,将在提示符之前出现消息正文,选项仍处于启用状态。
/cs
指定用户选项键必须区分大小写。默认情况下,用户选项键不区分大小写。
/t Timeout /d Choice
指定在默认为指定键之前 choice 暂停指定的秒数。下表将描述 /t 命令行选项的值。

Timeout
要暂停的秒数。可接受的值介于 0 到 9999 之间。如果使用 0,choice 在默认为指定键之前不暂停。

/d Choice
指定 Timeout 秒数之后的默认选择。您使用的字符必须在由 /cChoices 指定的选择集中。如果使用此命令行选项,还必须同时指定 /tTimeout。

/m Text
指定要在提示符之前显示的文字。如果您包括命令行选项字符(即 /)作为提示符之前的一部分文字,必须用引号将该文字引起来。如果未指定任何文字,choice 将只显示提示符。
/?
在命令提示符下显示帮助。
注释
• ERRORVALUE 环境变量被设置为用户从选择列表中选择的键的索引。您指派的第一个键将返回值 1,第二个将返回值 2,第三个将返回值 3,依此类推。如果用户按下一个不在您指派的键中间的键,Choice.exe 将发出警告声(即,它向控制台发送一个 BEL 或 07h 字符)。如果 Choice.exe 检测到错误情况,它就会返回错误值 255。如果用户按 Ctrl+Break 或 Ctrl+C,Choice.exe 就会返回错误值 0。当您在批处理程序中使用错误值参数时,请将它们以降序列出。

示例
请在批处理文件中键入下列语法:
choice /c ync
运行 Choice.exe 时出现下列语句:
[Y,N,C]?
请在批处理文件中键入下列语法:
choice /c ync /n /m Yes, No or Continue?
运行 Choice.exe 时出现下列语句:
Yes, No, or Continue?
按如下方式将文字添加到语法中:
choice /c ync /m Yes, No, or Continue
运行 Choice.exe 时出现下列语句:
Yes, No, or Continue [Y,N,C]?
/t 命令行选项将设置一个时间限制(在该限制内用户必须响应),并指定当用户在该时间限制内没有作出响应时将显示的值。要将时间限制设置为五秒并指定 N 作为默认值,请在批处理程序中键入下列命令行:
choice /c ync /t 5 /d n
当批处理文件启动 Choice.exe 时,将出现下列消息:
[Y,N,C]?
如果用户未能在五秒钟内按下一个键,Choice.exe 将选择 N 并返回错误值 2。否则,Choice 将返回与用户所选对应的值。

作者: wangxun    时间: 2005-8-21 23:45     标题: DOS下选择命令choice的发生了错误,请高手帮忙

应该这样,你试试
if errorlevel 6 goto shutdown
if errorlevel 5 goto dos
。。。。。。
if errorlevel 1 goto GHOxp




欢迎光临 EZB 论坛 (http://ultraiso.net/ezbbbs/) Powered by Discuz! 6.1.0