标题: 帮忙看一下这两个批处理错在哪里啊
[打印本页]
作者: jsjcjsjc
时间: 2008-1-6 21:33
标题: 帮忙看一下这两个批处理错在哪里啊
因为是制作纯DOS启动盘,想用批处理制作一个启动菜单,我的设想是先建立一个人如下的菜单
显示一个主菜单,再是一个子菜单,但自己写的批处理有问题,总是改不好,希望各位大虾指教

其中一个子菜单

这是主菜单
@echo off
cls
echo baobao's disk
echo 0.Clone
echo 1.HD
echo 2.Password
echo 3.Recovery
echo 4.Filesysytem
echo 5.Info
echo 6.Ram
echo 7.CMOS
echo 8.MBR
echo 9.Others
echo q.end
choice/c:0123456789q/t:q,160
if errorlevel 0 goto Clone
if errorlevel 1 goto HD
if errorlevel 2 goto Password
if errorlevel 3 goto Recovery
if errorlevel 4 goto Filesysytem
if errorlevel 5 goto Info
if errorlevel 6 goto Ram
if errorlevel 7 goto CMOS
if errorlevel 8 goto MBR
if errorlevel 9 goto Others
if errorlevel q goto end
:Clone
call Clone.bat
:HD
call HD.bat
:Password
call Password.bat
:Recovery
call Recovery.bat
:Filesysytem
call Filesysytem.bat
:Info
call Info.bat
:Ram
call Ram.bat
:CMOS
call CMOS.bat
:MBR
call MBR.bat
:Others
call Others.bat
:end
其中一个字菜单
clone.bat
echo off
cls
path=x:\baobao\baobao\clone\ghost;x:\baobao\baobao\clone\pqdi;x:\baobao\baobao\clone\acronis
echo 0.Ghost
echo 1.Acronis
echo 2.PQ Driver image
echo b.Back
choice/c:012b/t:b,160
if errorlevel 0 goto Ghost
if errorlevel 1 goto Acronis
if errorlevel 2 goto PQ Driver image
if errorlevel b goto Back
:Ghost
ghost.exe
goto end
:Acronis
acronis.exe
goto end
:PQ Driver image
pqdi.exe
goto end
:Back
call baobao.bat
:end
exit
[
Last edited by jsjcjsjc on 2008-1-6 at 10:01 PM ]
作者: jsjcjsjc
时间: 2008-1-6 21:34
我把两个改成如下,原本是没有问题的,可是我发现,第二次进入主菜单时会直接进入clone.bat,并且启动了ghost
主菜单
@echo off
cls
echo baobao's disk
echo 1.Clone
echo 2.HD
echo 3.Password
echo 4.Recovery
echo 5.Filesysytem
echo 6.Ram
echo 7.MBR
echo 8.Others
echo 9.end
choice/c:123456789/t:9,160
if errorlevel 9 goto end
if errorlevel 8 goto Others
if errorlevel 7 goto MBR
if errorlevel 6 goto Ram
if errorlevel 5 goto Filesysytem
if errorlevel 4 goto Recovery
if errorlevel 3 goto Password
if errorlevel 2 goto HD
if errorlevel 1 goto Clone
:Clone
call Clone.bat
goto exit
:HD
call HD.bat
goto exit
:Password
call Password.bat
goto exit
:Recovery
call Recovery.bat
:Filesysytem
call Filesysytem.bat
goto exit
:Ram
call Ram.bat
:MBR
call MBR.bat
goto exit
:Others
call Others.bat
goto exit
:exit
clone.bat子菜单
@echo off
cls
echo 4.Ghost
echo 3.Acronis
echo 2.PQ Driver image
echo 1.Back
choice/c:1234/t:1,160
if errorlevel 4 goto Ghost
if errorlevel 3 goto Acronis
if errorlevel 2 goto PQ Driver image
if errorlevel 1 goto Back
:Ghost
cd x:\baobao\baobao\clone\ghost
ghost.exe
goto exit
:Acronis
cd x:\baobao\baobao\clone\acronis
acronis.exe
goto exit
:PQ Driver image
cd x:\baobao\baobao\clone\pqdi
pqdi.exe
goto exit
:Back
call baobao.bat
goto exit
:exit
还有就是有什么办法让它执行完一个程序后回到主菜单呢
[
Last edited by jsjcjsjc on 2008-1-6 at 10:00 PM ]
作者: fastslz
时间: 2008-1-6 21:49
我视力很好,把字体改小了再回你....
作者: jsjcjsjc
时间: 2008-1-6 22:02
Quote: |
Originally posted by fastslz at 2008-1-6 09:49 PM:
我视力很好,把字体改小了再回你.... |
|
OK 期待啊
作者: fastslz
时间: 2008-1-6 22:13
choice最大等待时间99秒
@echo off
cls
echo baobao's disk
echo.
echo 1.Clone
echo 2.HD
echo 3.Password
echo 4.Recovery
echo 5.Filesysytem
echo 6.Ram
echo 7.MBR
echo 8.Others
echo 9.end
echo.
choice /n /c:123456789 /t:7,90 Please select a button and wait for 90 seconds default activated 7
if errorlevel 9 goto end
if errorlevel 8 goto Others
if errorlevel 7 goto MBR
if errorlevel 6 goto Ram
if errorlevel 5 goto Filesysytem
if errorlevel 4 goto Recovery
if errorlevel 3 goto Password
if errorlevel 2 goto HD
if errorlevel 1 goto Clone
goto end
:Clone
call Clone.bat
goto exit
:HD
call HD.bat
goto exit
:Password
call Password.bat
goto exit
:Recovery
call Recovery.bat
goto exit
:Filesysytem
call Filesysytem.bat
goto exit
:Ram
call Ram.bat
goto exit
:MBR
call MBR.bat
goto exit
:Others
call Others.bat
goto exit
:exit
:end
作者: jsjcjsjc
时间: 2008-1-6 22:23
Quote: |
Originally posted by fastslz at 2008-1-6 10:13 PM:
choice最大等待时间99秒
[code]@echo off
cls
echo baobao's disk
echo.
echo 1.Clone
echo 2.HD
echo 3.Password
echo 4.Recovery
echo 5.Filesysytem
echo 6.Ram
echo 7.MBR
echo 8.Others
... |
|
确实不错啊 不过怎么样才能使完成一个程序后回到主菜单呢
作者: fastslz
时间: 2008-1-6 22:27
Quote: |
Originally posted by jsjcjsjc at 2008-1-6 21:34:
还有就是有什么办法让它执行完一个程序后回到主菜单呢... |
|
@echo off
:menu
cls
echo baobao's disk
echo.
echo 1.Clone
echo 2.HD
echo 3.Password
echo 4.Recovery
echo 5.Filesysytem
echo 6.Ram
echo 7.MBR
echo 8.Others
echo 9.end
echo.
choice /n /c:123456789 /t:7,90 Please select a button and wait for 90 seconds default activated 7
if errorlevel 9 goto end
if errorlevel 8 goto Others
if errorlevel 7 goto MBR
if errorlevel 6 goto Ram
if errorlevel 5 goto Filesysytem
if errorlevel 4 goto Recovery
if errorlevel 3 goto Password
if errorlevel 2 goto HD
if errorlevel 1 goto Clone
goto end
:Clone
call Clone.bat
goto menu
:HD
call HD.bat
goto menu
:Password
call Password.bat
goto menu
:Recovery
call Recovery.bat
goto menu
:Filesysytem
call Filesysytem.bat
goto menu
:Ram
call Ram.bat
goto menu
:MBR
call MBR.bat
goto menu
:Others
call Others.bat
goto menu
:end
@echo off
cls
echo 4.Ghost
echo 3.Acronis
echo 2.PQ Driver image
echo 1.Back
choice /n /c:1234 /t:1,90 Please select a button and wait for 90 seconds default activated 1
if errorlevel 4 goto Ghost
if errorlevel 3 goto Acronis
if errorlevel 2 goto PQ_Driver_image
if errorlevel 1 goto Back
goto exit
:Ghost
x:
cd\
cd x:\baobao\baobao\clone\ghost
ghost.exe
goto exit
:Acronis
x:
cd\
cd x:\baobao\baobao\clone\acronis
acronis.exe
goto exit
:PQ_Driver_image
x:
cd\
cd x:\baobao\baobao\clone\pqdi
pqdi.exe
goto exit
:Back
call baobao.bat
goto exit
:exit
作者: jsjcjsjc
时间: 2008-1-6 22:31
乖乖 这个论坛的DOS确实好像很牛啊
我在龙族悬赏50都没人啊,找到好东西了
uote]Originally posted by
fastslz at 2008-1-6 10:27 PM:
[code]@echo off
:menu
cls
echo baobao's disk
echo.
echo 1.Clone
echo 2.HD
echo 3.Password
echo 4.Recovery
echo 5.Filesysytem
echo 6.Ram
echo 7.MBR
echo 8.Others
echo 9.end
echo.
... [/quote]
作者: jsjcjsjc
时间: 2008-1-6 22:52
对了 顺便问一下怎么添加path啊,我在批处理中添加PATH,只要一添加总是出错
例如(第3行)
@echo off
cls
path=x:\baobao
echo baobao's disk
echo.
echo 1.Clone
echo 2.HD
echo 3.Password
echo 4.Recovery
echo 5.Filesysytem
echo 6.Ram
echo 7.MBR
echo 8.Others
echo 9.end
echo.
choice /n /c:123456789 /t:7,90 Please select a button and wait for 90 seconds default activated 7
if errorlevel 9 goto end
if errorlevel 8 goto Others
if errorlevel 7 goto MBR
if errorlevel 6 goto Ram
if errorlevel 5 goto Filesysytem
if errorlevel 4 goto Recovery
if errorlevel 3 goto Password
if errorlevel 2 goto HD
if errorlevel 1 goto Clone
goto end
:Clone
call Clone.bat
goto exit
:HD
call HD.bat
goto exit
:Password
call Password.bat
goto exit
:Recovery
call Recovery.bat
goto exit
:Filesysytem
call Filesysytem.bat
goto exit
:Ram
call Ram.bat
goto exit
:MBR
call MBR.bat
goto exit
:Others
call Others.bat
goto exit
:exit
:end
作者: fastslz
时间: 2008-1-6 22:56
@echo off
path=%path%;x:\baobao
cls
:menu
.........
作者: jsjcjsjc
时间: 2008-1-6 23:04
3Q 非常感谢