![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-19 05:50 |
共 47,814 主题排行 / 349,908 发帖 / 今日 1 篇 / 48,259 会员排行 |
| DOS疑难解答 & 问题讨论 (解答室) » ghost的autoexec.batw问题.请教 |
| 可打印版本 1,006 / 10 |
| 第1楼 zsx | 发表于 2008-02-28 22:05 |
| 初级用户 发帖 32 积分 87 | |
|
ghost的autoexec.batw问题.请教 @ECHO OFF
IF %CONFIG%#==M4# GOTO END SET SM= XMSDSK 4096 /Y ECHO Now setting up the RAM disk... FINDRAMD>NUL IF %RAMDRIVE%#==# GOTO NORAM IF NOT EXIST %RAMDRIVE%\TEMP\NUL MD %RAMDRIVE%\TEMP SET TMP=%RAMDRIVE%\TEMP SET TEMP=%RAMDRIVE%\TEMP IF NOT EXIST %RAMDRIVE%\SYSTEM\NUL MD %RAMDRIVE%\SYSTEM COPY COMMAND.COM %RAMDRIVE%\SYSTEM>NUL IF NOT EXIST %RAMDRIVE%\SYSTEM\COMMAND.COM ECHO Warning: Failed to copy files! IF NOT EXIST %RAMDRIVE%\SYSTEM\COMMAND.COM GOTO COPYERR SET COMSPEC=%RAMDRIVE%\SYSTEM\COMMAND.COM :COPYERR PATH=%RAMDRIVE%;%RAMDRIVE%\SYSTEM IF %SM%#==Y# LH SMARTDRV 4096 2048 /X GOTO NEXT :NORAM ECHO Warning: Can't create RAM disk! IF %SM%#==Y# ECHO Can't load SMARTDRV! SET COMSPEC=A:\COMMAND.COM :NEXT SET SM= SET PROMPT=$P$G PATH=A:\;C:\;%CDROM%:\;.. LFNFOR ON SET DIRCMD=/4 SET HDPMI=16384 LH KILLER LH DOSKEY LH CTMOUSE LH doslfn /C- /Z:A:\CP936UNI.TBL LH HDPMI32 LH NTFSPRO LH MOUSCLIP /M LH SHSUCDX /D:IDE-CD /D:SATA-CD /Q /~+ LH FINDCD /S IF %CONFIG%#==M1# GOTO GHOST IF NOT %CONFIG%#==M1# GOTO END1 :GHOST CALL FINDCDR "GHOST.EXE" C D E F G H I J K L M N O P Q R S T U V W X Y Z SET DRIVE=Z Y X W V U T S R Q P O N M L K J I H G F E D C FOR %%I IN (%DRIVE%) DO IF EXIST %%I:\*.GHO SET DRV=%%i REN %DRV%:\*.GHO XP.GHO %CDROM%:\Ghost -clone,mode=pload,src=%DRV%:\xp.gho:1,dst=1:1 -sure -fx GOTO END :END1 call h.bat :END A: 测试可用.但执行到FOR %%I IN (%DRIVE%) DO IF EXIST %%I:\*.GHO SET DRV=%%i会提示G(光盘)未准备好.要安F.如果用管道命令"|" [ Last edited by zsx on 2008-2-29 at 04:21 PM ] |
|
| 第2楼 fastslz | 发表于 2008-02-28 22:56 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
方法1: 用call shift 的方法避开%CDROM%盘符
方法2: vol %CDROM%根据返回值跳开%CDROM%盘符 |
|
| 第3楼 zsx | 发表于 2008-02-29 00:24 |
| 初级用户 发帖 32 积分 87 | |
|
我有2个光驱.其中一个放启动盘.当检测到另一个光驱时.由于没光盘无法读盘出错.不管如果加语句.还是会显示..重试?放弃?要安F键(放弃)就好.不知如何写AUTOEXEC.BAT语句跳过这个盘.
[ Last edited by zsx on 2008-2-29 at 12:32 AM ] |
|
| 第4楼 fastslz | 发表于 2008-02-29 01:07 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
看来还手把手给代码了
太玩了明天吧~ |
|
| 第5楼 zsx | 发表于 2008-02-29 10:26 |
| 初级用户 发帖 32 积分 87 | |
|
F| FOR %%I IN (%DRIVE%) DO IF EXIST %%I:\*.GHO SET DRV=%%i
这个语句为何不会自动会答 F 呢? |
|
| 第6楼 zsx | 发表于 2008-02-29 11:47 |
| 初级用户 发帖 32 积分 87 | |
|
问题已解决.语句如下
FOR %%I IN (%DRIVE%) DO IF EXIST %%I:\*.GHO<F SET DRV=%%i 实现自动会答F |
|
| 第7楼 Climbing | 发表于 2008-02-29 11:49 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
用bart出的findcd可以直接根据光盘上的文件找到你想要的光驱盘符,不用挨个检测。
|
|
| 第8楼 zsx | 发表于 2008-02-29 16:37 |
| 初级用户 发帖 32 积分 87 | |
|
确实有点难.我以为在IF EXIST %%I:\*.GHO后加<F会跳过另一个光盘.其实是没执行IF EXIST命令.
CLIMBING(7楼)没理解我的意思.GHOST.EXE在光盘.*.GHO在其它任意盘(不确定).启动盘在其中一个光驱.另一个光驱无盘.检测时会出错.一定要跳过. |
|
| 第9楼 fastslz | 发表于 2008-02-29 18:18 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
test.bat内容 自己看一下是否有必要把"%CDROM%"=="%1"改成"%CDROM%:"=="%1"取决于你的环境变量情况自行修改 |
|
| 第10楼 balinger | 发表于 2008-02-29 19:40 |
| 中级用户 发帖 115 积分 356 | |
|
shell=command.com /P /F
/F表示当command.com调用程序运行出错时,将Fail作为Abort,Retry,Fail中的默认选项 好象可以解决楼主的问题。 |
|
| 第11楼 zsx | 发表于 2008-02-29 22:17 |
| 初级用户 发帖 32 积分 87 | |
|
已试过10楼的办法可行.谢谢.我接着试9楼的办法.学习学习.
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |