Board logo

标题: GHOST8.2启动盘中自动批命令问题? [打印本页]

作者: minwei     时间: 2005-11-5 09:57    标题: GHOST8.2启动盘中自动批命令问题?

在DOS之家 站长 葛明阳老师写的软件
GHOST8.2启动盘 2005.07.06 中文版 中自动批里有
call w.bat box (+white on +blue) @ghost_1r.bat:_cho_s #1,10
call w.bat box (+white on +blue) @m.bat:_menu #%mpos%
这两个命令
能否详细介绍一下是什么意思?
要运行以上命令除需w.bat WBAT.COM WBAT.INI外还需那些?(我也在批里写:_menu下目录 )运行到上命令停在那告诉我,找不找文件.

[ Last edited by minwei on 2005-11-5 at 10:05 ]
作者: willsort     时间: 2005-11-5 12:24
Re minwei:

      从命令行中可以判断,你还需要 ghost_1r.bat 和 m.bat 这两个批处理文件,在这两个批处理文件中必然使用了 wbat 的诸多功能和特性来完成它们的用户交互界面。你需要将它们提取到你的批处理所在的路径下。
作者: minwei     时间: 2005-11-6 10:46
先谢!葛明阳老师的GHOST8.2启动盘 2005.07.06 中文版界面挺漂亮
ghost_1r.bat和m.bat这两个批处理文件都有,我依GHOST8.2启动盘想自己建个DOS工具启动盘,结果,运行到上述上命令停在那告诉我,找不找文件.
作者: 不得不爱     时间: 2005-11-6 13:07
ghost_1r.bat里有_cho_s 这一行吗?
m.bat里有_menu 这一行吗?
_menu和_cho_s下是不是空的呀?
作者: minwei     时间: 2005-11-6 23:24
win.BAT
@echo off
ECHO 装载 Windows 安装向导 . . .
copy a:\setup.zip x:\setup.zip >nul
x:
cd\
unzip -d setup.zip >nul
ECHO
ECHO
del setup.zip >nul
set mpos=0
cls
:menu
call w.bat box (+white on +blue) @win.bat:_menu #%mpos%
set mpos=%?%
cls
if errorlevel 100 goto menu
if "%?%"=="8" goto rs
if "%?%"=="7" goto help
if "%?%"=="6" goto setup
if "%?%"=="5" goto 03
if "%?%"=="4" goto xp
if "%?%"=="3" goto 00
if "%?%"=="2" goto me
if "%?%"=="1" goto se

:_menu " 主菜单 "                [x]

       [ 1. 安装WIN 98SE 系统  ]

       [ 2. 安装WIN ME   系统  ]

       [ 3. 安装WIN 2000  系统 ]

       [ 4. 安装WIN XP   系统  ]

       [ 5. 安装WIN 2003 系统  ]

       [ 6. 安装 Windows 系统  ]

       [ 帮助(&H) ]     [ 重启(&R) ]

::
goto exit

:se
cls
x:
cd\
call win98.bat
cls
goto menu

:me
x:
cd\
call winme.bat
cls
goto menu


:00
cls
x:
cd\
call win2x.bat
cls
goto menu

:XP
cls
x:
cd\
call winXP.bat
cls
goto menu

:03
cls
x:
cd\
call win23.bat
cls
goto menu

:setup
cls
call setup_cn.bat
cls
goto menus

:help
cls
call readme.bat
cls
goto menu

:rs
cls
Reboot
cls

:EXITs



wim98.bat
@ECHO OFF
path=X:\;a;
X:\TW /np /n3 >nul
findcd /s >nul
cls
:cd0
if exist %cdrom1%\WIN98\SETUP.EXE goto cd100
if exist %cdrom2%\WIN98\SETUP.EXE goto cd200
if exist %cdrom3%\WIN98\SETUP.EXE goto cd300
if exist %cdrom4%\WIN98\SETUP.EXE goto cd400
GOTO nogho

:cd100
set romcd=%cdrom1%
goto cd1
:cd200
set romcd=%cdrom2%
goto cd1
:cd300
set romcd=%cdrom3%
goto cd1
:cd400
set romcd=%cdrom4%
goto cd1

:nogho
cls
if "%?%"=="1" goto cd
:_nogho

对不起,经过搜索,没找到光盘里有Windows安装文件。安装失败!

注:  请重新选择或更换光盘,后按键返回重新搜索


               [ 返回(&R) ]

::
goto EXIT

:cd
TW/q >nul
cls
call win.bat
goto EXIT

:cd1
echo.
echo.
echo.
echo.
echo                          安装WINDOWS 98SE 操作系统
echo               ====================================================
echo.              
echo                     1.  手动安装 WINDOWS 98SE 操作系统
echo.                                 
echo                     2.  全自动安装WINDOWS 98SE操作系统
echo.                                                            
echo                     3.  重 新 启 动 计 算 机               
echo               ====================================================
SET item=
CHOIX /c:123 /N .                           请选择(1,2,3):
For %%a in (1 2 3) do if errorlevel %%a set item=%%a
IF "%item%"=="3" GOTO QUIT
IF "%item%"=="2" GOTO _atwin98
IF "%item%"=="1" GOTO _stwin98

:_stwin98
CLS
if exist %CDROM1%\WIN98\SETUP.EXE goto SETING
GOTO NOEXE

:_atwin98
if not exist %CDROM1%\WIN98\SETUP.EXE goto NOEXE
if exist X:\msbatch.inf goto ASETING
GOTO NOEXE

:ASETING
CLS
ECHO 准备全自动安装 WINDOWS 98SE...
CALL FORMDSK.BAT
X:\TW /Q
cls
%CDROM1%
cd \WIN98
echo.
setup X:\msbatch.inf /is
goto QUIT

:SETING
CLS
ECHO 准备手动安装 WINDOWS 98SE...
CALL FORMDSK.BAT
X:\TW /Q
cls
%CDROM1%
cd \WIN98
echo.
SETUP.EXE
goto QUIT

:NOEXE
echo.
X:\WBATT BOX(RED ON YELLOW)"错误: 无法找到系统安装文件!",退出安装#1,10
if errorlevel 2 goto NOEXE
goto QUIT

:QUIT
X:\reboot

:EXIT


我修改了命令,可运行到win98.bat按1  手动安装 WINDOWS 98SE 操作系统
格式化提示结束后出现
please wait setup initializes.
setup is going to perform a rountine check on your system.
to comntinue, press ENTER. TO quit Setup,press ESC
我按ENTER或ESC键开始扫描硬盘后停在下列提示:
bat  box (+white on +blue) @win.bat:_menu #1
file not found
(any key continue)
这是怎么回事?我那错了?我是在虚拟机中测试
电脑是winxp系统  ntfs格式.
先谢!我想修改大师的img,集成自己想要的DOS名令.

[ Last edited by minwei on 2005-11-6 at 23:31 ]
作者: 不得不爱     时间: 2005-11-7 14:01
你把#%mpos%
set mpos=%?%
删除了!
作者: floor     时间: 2005-11-7 14:40
call w.bat box (+white on +blue) @win.bat:_menu #%mpos%

这句中@后面的win.bat必须是这个批处理的文件名,否则就会提示找不到文件。如果win.bat不是这个批处理的文件名,将win.bat改为你批处理的文件名即可,当然也可能是其他原因。
作者: 不得不爱     时间: 2005-11-8 08:18


  Quote:
call w.bat box (+white on +blue) @win.bat:_menu #%mpos%

这句中@后面的win.bat必须是这个批处理的文件名,否则就会提示找不到文件。如果win.bat不是这个批处理的文件名,将win.bat改为你批处理的文件名即可,当然也可能是其他原因。

这句中@后面的win.bat没有问题,只是#%mpos%有问题!应该删除掉!
作者: floor     时间: 2005-11-8 08:59


  Quote:
Originally posted by qwe1234567 at 2005-11-8 08:18:

这句中@后面的win.bat没有问题,只是#%mpos%有问题!应该删除掉!

在这里#%mpos%作用是菜单的默认选择项,"set mpos=%?%"的作用是:如果选择了菜单上某一项,退出后仍旧默认选择这一项,这样说不知是否说清楚了。还有@后的win.bat必须和这个批处理文件的名字相同,否则就会提示找不到文件,我已经测试过了。

[ Last edited by floor on 2005-11-8 at 09:11 ]
作者: 不得不爱     时间: 2005-11-8 13:54
那如果按了ESC键怎么办?set mpos=%?%会让%mpos%=100!那不会出错吗?建义修改::menu
call w.bat box (+white on +blue) @win.bat:_menu #%mpos%
set mpos=%?%
cls
if errorlevel 100 goto menu
if "%?%"=="8" goto rs
if "%?%"=="7" goto help
if "%?%"=="6" goto setup
if "%?%"=="5" goto 03
if "%?%"=="4" goto xp
if "%?%"=="3" goto 00
if "%?%"=="2" goto me
if "%?%"=="1" goto se
为:
:menu
call w.bat box (+white on +blue) @win.bat:_menu #%mpos%
cls
if errorlevel 100 goto menu
set mpos=%?%
if "%?%"=="8" goto rs
if "%?%"=="7" goto help
if "%?%"=="6" goto setup
if "%?%"=="5" goto 03
if "%?%"=="4" goto xp
if "%?%"=="3" goto 00
if "%?%"=="2" goto me
if "%?%"=="1" goto se
作者: 不得不爱     时间: 2005-11-8 13:59


  Quote:
还有@后的win.bat必须和这个批处理文件的名字相同,否则就会提示找不到文件,我已经测试过了。

你没有看到@后的win.bat就是和这个批处理文件的名字相同吗?请不要再在这个问题上发表意见了!
作者: minwei     时间: 2005-11-9 21:56
Re qwe1234567

谢,我猜你是gmy。
我要删了call w.bat box (+white on +blue) @win.bat:_menu #%mpos%
set mpos=%?%
按了ESC键
退出
屏幕为x:\win98\
再输setup
就开始安装win98
没删call w.bat box (+white on +blue) @win.bat:_menu #%mpos%
set mpos=%?%
就卡在那
我听qwe1234567话
不要再这个问题上发表意见
谢谢大家 谢willsort qwe1234567
作者: gmy     时间: 2005-11-10 17:50
我是葛明阳, 可以删除与 mpos 相关的部分. mpos的作用是记忆选项位置,不用也罢.
作者: 不得不爱     时间: 2005-11-11 15:27
其实将
:menu
call w.bat box (+white on +blue) @win.bat:_menu #%mpos%
set mpos=%?%
cls
if errorlevel 100 goto menu
if "%?%"=="8" goto rs
if "%?%"=="7" goto help
if "%?%"=="6" goto setup
if "%?%"=="5" goto 03
if "%?%"=="4" goto xp
if "%?%"=="3" goto 00
if "%?%"=="2" goto me
if "%?%"=="1" goto se
改为
:200
call w.bat box (+white on +blue) @win.bat:_menu
goto %?%

:rs
:help
:setup
:03
:xp
:00
:me
:se
改为
:8
:7
:6
:5
:4
:3
:2
:1
批处理文件会小很多!另外wim98.bat也有问题,如果你不想解决的话就算了,我没有用过findcd /s不知道它能不能输出%cdrom1%、%cdrom2%、%cdrom3%、%cdrom4%但是set romcd=%cdrom1%等等在下面没有用到%romcd%批处理文件也会出错!
作者: minwei     时间: 2005-11-12 17:06
谢谢大家,不知那有:wbat 的功能和特性的教材?在我用的或收集的dos启动盘程序中最漂亮的界面是葛明阳老师写的软件
GHOST8.2启动盘 2005.07.06 中文版
真希望那位老l师创建个多功能的dos启动盘,不怕盘大,就怕功能不强。
再次真心感谢各位,也谢葛明阳老师的GHOST8.2启动盘 。