|
zsx
初级用户
 
积分 87
发帖 32
注册 2007-11-21
状态 离线
|
『楼 主』:
ghost的autoexec.batw问题.请教
使用 LLM 解释/回答一下
@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 ]
|
|
2008-2-28 22:05 |
|
|
fastslz
铂金会员
       DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
|
2008-2-28 22:56 |
|
|
zsx
初级用户
 
积分 87
发帖 32
注册 2007-11-21
状态 离线
|
『第 3 楼』:
使用 LLM 解释/回答一下
我有2个光驱.其中一个放启动盘.当检测到另一个光驱时.由于没光盘无法读盘出错.不管如果加语句.还是会显示..重试?放弃?要安F键(放弃)就好.不知如何写AUTOEXEC.BAT语句跳过这个盘.
Last edited by zsx on 2008-2-29 at 12:32 AM ]
|
|
2008-2-29 00:24 |
|
|
fastslz
铂金会员
       DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
|
2008-2-29 01:07 |
|
|
zsx
初级用户
 
积分 87
发帖 32
注册 2007-11-21
状态 离线
|
『第 5 楼』:
使用 LLM 解释/回答一下
F| FOR %%I IN (%DRIVE%) DO IF EXIST %%I:\*.GHO SET DRV=%%i
这个语句为何不会自动会答 F 呢?
|
|
2008-2-29 10:26 |
|
|
zsx
初级用户
 
积分 87
发帖 32
注册 2007-11-21
状态 离线
|
『第 6 楼』:
使用 LLM 解释/回答一下
问题已解决.语句如下
FOR %%I IN (%DRIVE%) DO IF EXIST %%I:\*.GHO<F SET DRV=%%i
实现自动会答F
|
|
2008-2-29 11:47 |
|
|
Climbing
铂金会员
       网络独行侠
积分 6962
发帖 2753
注册 2003-4-16 来自 河北保定
状态 离线
|
『第 7 楼』:
使用 LLM 解释/回答一下
用bart出的findcd可以直接根据光盘上的文件找到你想要的光驱盘符,不用挨个检测。
|

偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
|
|
2008-2-29 11:49 |
|
|
zsx
初级用户
 
积分 87
发帖 32
注册 2007-11-21
状态 离线
|
『第 8 楼』:
使用 LLM 解释/回答一下
确实有点难.我以为在IF EXIST %%I:\*.GHO后加<F会跳过另一个光盘.其实是没执行IF EXIST命令.
CLIMBING(7楼)没理解我的意思.GHOST.EXE在光盘.*.GHO在其它任意盘(不确定).启动盘在其中一个光驱.另一个光驱无盘.检测时会出错.一定要跳过.
|
|
2008-2-29 16:37 |
|
|
fastslz
铂金会员
       DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
『第 9 楼』:
使用 LLM 解释/回答一下
@echo off
call test.bat C D E F G H I J K L M N O P Q R S T U V W
pause
test.bat内容
:xxx
if "%1"=="" goto end
if /i not "%CDROM%"=="%1" if exist "%1:\*.GHO" SET DRV=%1
if /i not "%CDROM1%"=="%1" if exist "%1:\*.GHO" SET DRV=%1
shift
goto xxx
:end
自己看一下是否有必要把"%CDROM%"=="%1"改成"%CDROM%:"=="%1"取决于你的环境变量情况自行修改
|

第一高手 第二高手
我的小站
 |
|
2008-2-29 18:18 |
|
|
balinger
中级用户
  
积分 356
发帖 115
注册 2004-7-27
状态 离线
|
『第 10 楼』:
使用 LLM 解释/回答一下
shell=command.com /P /F
/F表示当command.com调用程序运行出错时,将Fail作为Abort,Retry,Fail中的默认选项
好象可以解决楼主的问题。
|
|
2008-2-29 19:40 |
|
|
zsx
初级用户
 
积分 87
发帖 32
注册 2007-11-21
状态 离线
|
|
2008-2-29 22:17 |
|