【求助】改寫bat檔



贊助商連結


purk
2004-04-04, 02:12 AM
目前 os是win2k,但是本來想用vm來跑dos 好玩sc2000,沒錯老玩具

但是vm下的dos會使sc2000跳出, 我目前想到改用ibm 提供的ibm的f11還原程式來改良,使我可以在還原gho區內可以還原系統外,還可以玩sc2000
但是目前bat檔的撰寫有點問題


這是autoexec.bat檔內容

@ECHO OFF
lh smartdrv 4096
mouse > nul
et16v-16.com
cls
F11.BAT

這是f11.bat檔 內容


@ECHO OFF
recur
:0000
cls
call w.bat box @F11.BAT:w_0000
if errorlevel 100 goto END
if "%?%"=="6" goto END
if "%?%"=="5" goto 0005
if "%?%"=="4" goto 0004
if "%?%"=="3" goto 0003
if "%?%"=="2" goto 0002
IF "%?%"=="1" goto 0001

:w_0000 " 全自動系統還原/備份 "

[ 1. 還原您的系統 ]
[ 2. 備份您的系統 ]
[ 3. 還原初始系統 ]
[ 4. 備份初始系統 ]
[ 5. 重新啟動電腦 ]
[ 6. 回到DOS命令列 ]
::

:0001
if not exist 1.bat goto 1001
1.bat
goto 0000

:0002
if not exist 2.bat goto 1002
2.bat
goto 0000

:0003
if not exist 3.bat goto 1001
3.bat
goto 0000

:0004
if not exist 4.bat goto 1002
4.bat
goto 0000

:0005
boot.com
goto END

:1001
echo.
echo 不允訐"還原系統"這項操作
echo.
echo 按任意鍵繼續
echo.
pause >nul
echo.
goto 0000

:1002
echo.
echo 不允許"備份系統"這項操作
echo.
echo 按任意鍵繼續
echo.
pause >nul
echo.
goto 0000

:END
CLS
q.com


我想試試看可以把sc200作成壓縮檔,直接在f11.bat內加入選項, 該選項是跳離et3,掛載ramdisk,解壓sc2000到ramdsik,執行sc2000

請幫我想辦法囉

thx

贊助商連結


bx2aa
2004-04-04, 04:51 PM
這些選項不是放到 Config.sys 比較方便嗎?

call w.bat box @F11.BAT:w_0000
if errorlevel 100 goto END
if "%?%"=="6" goto END
if "%?%"=="5" goto 0005
if "%?%"=="4" goto 0004
if "%?%"=="3" goto 0003
if "%?%"=="2" goto 0002
IF "%?%"=="1" goto 0001

這裡的 w.bat 內容是什麼呢?

裡面有
set ?=1 <------ 或是有環境變數設定給 "?"
一直到 6 的其中一種嗎?
errorlevel 100 是從哪裡得到的?
嗯!
我猜想可能是有一個程式可以要求輸入一個字
這個字會傳出 dos 的 errorlevel 然後判斷 ASCII 等於多少吧!
以下改一下 ASCII 30 好像是 0
if errorlevel 37 goto 0000
if errorlevel 36 goto END
if errorlevel 35 goto 0005
if errorlevel 34 goto 0004
if errorlevel 33 goto 0003
if errorlevel 32 goto 0002
if errorlevel 31 goto 0001

if errorlevel 37 goto 0000
這是防止有人沒按照螢幕所提示的選項選取.
也可能有人報復性的亂按, 或是有個小朋友跑到電腦前亂敲鍵盤.