无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3164|回复: 20
打印 上一主题 下一主题

Climbing大大,关于你发表的一篇帖子,请指教!

[复制链接]
跳转到指定楼层
1#
发表于 2004-9-26 17:42:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[这个贴子最后由xsc在 2004/09/26 05:45pm 第 1 次编辑]

新版本的findcd.exe支持多光驱的,在启动光盘的autoexec.bat中加入这些命令
findcd /s > nul
if "%cdrom%"=="1" set path=%path%;%cdrom1%:\;
if "%cdrom%"=="2" set path=%path%;%cdrom1%:\;%cdrom2%:\;
if "%cdrom%"=="3" set path=%path%;%cdrom1%:\;%cdrom2%:\;%cdrom3%:\;
set cdrom=
for %%I in (%cdrom1%,%cdrom2%,%cdrom3%) DO if exist %%I\光盘上的某目录\某文件 set cdrom=%%I
----------------------------------------
问题来了:
例如我有2个光驱,分别加载到D:和E:
我把光盘插入D:光驱
当执行到"DO if exist %%I\光盘上的某目录\某文件"这一句时,会出现
read failed from drive E:
Abort,Retry,Fail?
(插入到E:,会提示read failed from D:)
道理很明显,因为if exist这个判断程序会去读取所有的光区.而E:里是空的.
但是没有这个判断就不能自动识别双光区,该如何做才能避免这个错误提示呢?
2#
发表于 2004-9-26 17:58:51 | 只看该作者

Climbing大大,关于你发表的一篇帖子,请指教!

用Horst的Dready这个命令先检测对应的光驱是否准备好(有盘插入),如果是,再加入搜索路径即可。
我原来写的批处理是有问题的,不能再那么检测了。
DREADY程序下载(点击下载)
回复

使用道具 举报

3#
 楼主| 发表于 2004-9-26 18:27:48 | 只看该作者

Climbing大大,关于你发表的一篇帖子,请指教!

大大回答的真快啊
多谢指教,我马上回家去试一试
回复

使用道具 举报

4#
发表于 2004-9-26 23:01:53 | 只看该作者

Climbing大大,关于你发表的一篇帖子,请指教!

下面引用由Climbing2004/09/26 05:58pm 发表的内容:
用Horst的Dready这个命令先检测对应的光驱是否准备好(有盘插入),如果是,再加入搜索路径即可。
我原来写的批处理是有问题的,不能再那么检测了。
DREADY程序下载(点击下载)
原来有这个冬冬,一直找不到,本来打算自己写一个的了……
8月份时我做的光盘全自动GHOST系统恢复/安装盘时在USB-CDROM和CDROM冲突时,
也是遇到这个问题,不过退一步制做,总算把8XX台无软驱/内置光驱的方正电脑装完了,完成了任务。。。而且当时的盘都送给各学校的教师恢复系统用了。-_-!
回复

使用道具 举报

5#
发表于 2004-9-26 23:04:23 | 只看该作者

Climbing大大,关于你发表的一篇帖子,请指教!

下面引用由弄潮儿-NET2004/09/26 11:01pm 发表的内容:
原来有这个冬冬,一直找不到,本来打算自己写一个的了……
8月份时我做的光盘全自动GHOST系统恢复/安装盘时在USB-CDROM和CDROM冲突时,
也是遇到这个问题,不过退一步制做,总算把8XX台无软驱/内置光驱的方正电 ...
难得大哥这么有爱心,支持!
回复

使用道具 举报

6#
发表于 2004-9-27 09:38:21 | 只看该作者

Climbing大大,关于你发表的一篇帖子,请指教!

我写的一个类似的批处理,你稍加修改一下应该可以解决问题:
xyfpath.bat:用来设置搜索路径
  1. @echo off
  2. set drives=
  3. for %%D in (C: D: E: F: G: H: I: J: K: L: M: N:  P: Q: R: S: T: U: V: W: X: Y: Z:) DO Call IsReady %%D
  4. ::echo %drives%
  5. ::pause
  6. set mypath=
  7. for %%D in (%drives%) DO if exist %%D\syssoft\clone\systools\ghost.exe apath *mypath %%D\SYSSOFT\CLONE\SYSTOOLS;%%D\SYSSOFT\CLONE\DOSTOOLS;%%D\SYSSOFT\CLONE\WINTOOLS
  8. if exist c:\ucdos\nul apath c:\ucdos
  9. if exist c:\dos71\nul apath c:\dos71
  10. if exist c:\dos\nul apath c:\dos
  11. if exist c:\batch\nul apath c:\batch
  12. for %%D in (%drives%) DO if exist %%D\systools\pqmagic.exe apath *mypath %%D\SYSTOOLS;%%D\DOSTOOLS;%%D\WINTOOLS
  13. if not "%mypath%"=="" apath %mypath%
  14. if "%mypath%"=="" goto _nopath
  15. set drives=
  16. set mypath=
  17. goto _quit
  18. :_nopath
  19. echo Sorry! I cannot find any xyf's path on your system.
  20. echo PATH NOT SET!!!
  21. pause
  22. :_quit
复制代码
IsReady.bat:用来判断某个盘符是否准备好
  1. @echo off
  2. dready %1 > nul
  3. if errorlevel 1 goto _quit
  4. if errorlevel 0 set drives=%1 %drives%
  5. :_quit
复制代码
回复

使用道具 举报

7#
 楼主| 发表于 2004-9-27 14:01:14 | 只看该作者

Climbing大大,关于你发表的一篇帖子,请指教!

ok! Climbing ,我昨天弄的一晚上都没弄好呢。一定要仔细研究你的程序!
回复

使用道具 举报

8#
发表于 2004-9-27 14:25:04 | 只看该作者

Climbing大大,关于你发表的一篇帖子,请指教!

请问楼主,“大大”是什么意思?在本地的方言中,大大是指大伯的意思,我想你的这个“大大”应该不是这个意思吧,不过终归我感觉这个词儿不太爽,所以以后发帖尽量还是按规矩发帖吧。
回复

使用道具 举报

9#
 楼主| 发表于 2004-9-27 15:10:20 | 只看该作者

Climbing大大,关于你发表的一篇帖子,请指教!

大大就是老大的意思,论坛里对版主,管理员都是这么叫的
可...^
回复

使用道具 举报

10#
发表于 2004-9-27 15:35:06 | 只看该作者

Climbing大大,关于你发表的一篇帖子,请指教!

原来如此,我觉得你还是直呼其名吧,或者Climbing老大也行。
回复

使用道具 举报

11#
 楼主| 发表于 2004-9-27 15:55:45 | 只看该作者

Climbing大大,关于你发表的一篇帖子,请指教!

[这个贴子最后由xsc在 2004/09/27 04:00pm 第 1 次编辑]

Climbing老大,你写的这个程序太复杂了。我看了半天没明白,能不能根据我的思路修改一下呢?
-----------------------
findcd /s > nul
for %%D in (%cdrom1%,%cdrom2%,%cdrom3%)
dready %%d > nul
if errorlevel 1 goto _quit
if errorlevel 0 set bootcd=%%d
echo your cd-rom drive is %bootcd% now!
:_quit
-----------------------------
我知道上面的程序是错误的,只是把我的思路表达出来 3Q~
回复

使用道具 举报

12#
 楼主| 发表于 2004-9-27 15:58:31 | 只看该作者

Climbing大大,关于你发表的一篇帖子,请指教!

我现在写了一个很肤浅的双光驱判断语句,如果超过2个光驱就无能为力了
findcd /s > nul
dready %cdrom1%
IF ERRORLEVEL 0 set bootcd=%cdrom1%
IF ERRORLEVEL 1 set bootcd=%cdrom2%
回复

使用道具 举报

13#
发表于 2004-9-27 16:35:10 | 只看该作者

Climbing大大,关于你发表的一篇帖子,请指教!

下面引用由xsc2004/09/27 03:58pm 发表的内容:
我现在写了一个很肤浅的双光驱判断语句,如果超过2个光驱就无能为力了
findcd /s > nul
dready %cdrom1%
IF ERRORLEVEL 0 set bootcd=%cdrom1%
...
findcd /s
dready %cdrom1%
if errorlevel 1 goto cd2
set bootcd=%cdrom1%
goto continue
:cd2
dready %cdrom2%
if errorlevel 1 goto cd3
set bootcd=%cdrom2%
goto continue
:cd3
dready %cdrom3%
if errorlevel 1 goto nocd
set bootcd=%cdrom3%
...
:continue
看样子应该可以用FOR,不过上面我没测试过,请自行测试
回复

使用道具 举报

14#
发表于 2004-9-27 17:04:40 | 只看该作者

Climbing大大,关于你发表的一篇帖子,请指教!

findcd /s > nul
for %%I in (%cdrom1%,%cdrom2%,%cdrom3%) do call IsReady.bat %%I
Echo %drives%
这样是可行的,但我发现一个奇怪的问题..例如执行过后 Set
CDROM1=E:
DRIVES=E:
这样没问题嘛.. 对不对..但是呢?
DIR %CDROM1%          OK
DIR %DRIVES%          OK
DIR %CDROM1%\I386     OK
DIR %DRIVES%\I386     错误讯息. Too many parameters - I386
所以子目录以其指向根目录下的档案无法用 %DRIVES% 的批处理处理..
真的很奇怪.. 不是一样的环境变数吗??? 我用 VCP 测试的..
怪....
回复

使用道具 举报

15#
发表于 2004-9-27 17:27:48 | 只看该作者

Climbing大大,关于你发表的一篇帖子,请指教!

下面引用由guies2004/09/27 05:04pm 发表的内容:
findcd /s > nul
for %%I in (%cdrom1%,%cdrom2%,%cdrom3%) do call IsReady.bat %%I
Echo %drives%
这样是可行的,但我发现一个奇怪的问题..例如执行过后 Set
...
你的 IsReady.bat 改一下,
@echo off
dready %1 > nul
if errorlevel 1 goto _quit
if errorlevel 0 set drives=%1
:_quit
回复

使用道具 举报

16#
发表于 2004-9-27 18:57:20 | 只看该作者

Climbing大大,关于你发表的一篇帖子,请指教!

这都是很简单的批处理,仔细看一下相关命令的说明就搞定了。
回复

使用道具 举报

17#
发表于 2004-9-27 23:16:06 | 只看该作者

Climbing大大,关于你发表的一篇帖子,请指教!

[UploadFile=34_4614_16.gif]之前要要有二个光驱以上只要不是放在第一个光驱都会有错误讯息,需一直按 "Abort" 才可跳到下一个光驱,真是麻烦,不过今看到这一帖用 dready.com 就已经解决啦..
就对我之前所制作的光碟还原稍加修改了一下..
回复

使用道具 举报

18#
发表于 2004-9-27 23:19:03 | 只看该作者

Climbing大大,关于你发表的一篇帖子,请指教!

[UploadFile=34_4614_17.gif]列出当前光碟所有的 Ghost Image 档,自已选择..
也可稍加修改会读取所有的硬碟、光驱里的 Ghost Image ,列出选择..
不过这样我觉得不实用..
回复

使用道具 举报

19#
发表于 2004-9-27 23:21:39 | 只看该作者

Climbing大大,关于你发表的一篇帖子,请指教!

[UploadFile=34_4614_18.gif]pic3
回复

使用道具 举报

20#
发表于 2004-9-27 23:22:50 | 只看该作者

Climbing大大,关于你发表的一篇帖子,请指教!

[UploadFile=34_4614_19.gif]开始回复您所选择的..
回复

使用道具 举报

21#
发表于 2004-9-28 13:05:55 | 只看该作者

Climbing大大,关于你发表的一篇帖子,请指教!

下面引用由guies2004/09/27 11:19pm 发表的内容:
列出当前光碟所有的 Ghost Image 档,自已选择..
也可稍加修改会读取所有的硬碟、光驱里的 Ghost Image ,列出选择..
不过这样我觉得不实用..
英文强呀。。。教教我~:(
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-10-15 15:28

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表