无忧启动论坛

标题: 【求助】怎样在winpe2.0的cmd批处理中确定光驱盘符? [打印本页]

作者: 狂野咆哮    时间: 2008-2-22 12:00
标题: 【求助】怎样在winpe2.0的cmd批处理中确定光驱盘符?
如题。我想制作一个winpe2.0.,通过一个批处理自动用imagex回复c盘,怎么确定光驱盘符???
那个DOS下的%CDROM%不好用啊???
望各位大侠不吝指教
作者: 狂野咆哮    时间: 2008-2-22 12:47
据说有一个setntenvar。exe,那里有得下啊??搜了半天也没找到……
作者: Climbing    时间: 2008-2-22 16:02
用纯DOS下的findcd照样可以找到nt下的光驱盘符。

我印象中DOS联盟Wengier的findcd就可以这样用。
作者: 狂野咆哮    时间: 2008-2-23 12:30
谢谢楼上,我用了一段批处理来实现了,虽然不太懂………………
要是谁能告我那个nul是什么意思就好了,呵呵

rem 以下确定光驱盘符,后面可以直接用%cdrom%代表光驱
for %%i in (Z Y W V U T S R Q P O N M L K J I H G F E D C) do ( if exist %%i:\nul (for /f "tokens=3" %

%j in ('dir /-c %%i:\') do set freesize=%%j
set l=%%i
if not "!freesize!"=="0" goto last_drive
)
)
goto :eof
:last_drive
set cdrom=%l:~0,1%
rem 光驱判断结束
作者: huangwenjia    时间: 2008-2-28 11:05
nul 好像是回显设备,作用跟显示器一样,只是这个设置其实是不回显的,也就是将过程和结果都不显示,隐藏起来。不过在这里,我就不敢确定了,因为这个批处理我看不懂,只知道是用是FOR循环和IF语句作判断。
作者: icevan    时间: 2008-2-28 20:33
nul是Dos中的一个设备文件名 表示空设备
在批处理当中一般是用来让命令的结果不出现在屏幕上.比如dir>nul

这个批处理是通过在每个盘运行DIR后显示的可用空间来判断光盘的.如果可用空间为零就判断为光盘.

其实你要用光盘上文件的话可以直接判断哪个驱动器上有这个文件来判断.
作者: 李四    时间: 2010-1-10 18:59
学习。。。。。。。。。。。。。。。。。
作者: dos时代菜鸟    时间: 2010-1-11 12:41
用for 循环判断各盘中是否存在你要用于恢复用的文件包 gho或者img ,找到的就是你要的光驱。
如果你的 恢复包是光盘:\GHO\A.GHO
可以如下编辑:

set file=GHO\a.gho
for %%c IN (Z Y X W V U T S R Q P O N M L K J I H G F E D C B A) DO (
IF EXIST %%c:\%FILE%  set cdrom=%%c:
IF EXIST %%c:\%FILE%  goto end
)
:end
if *%cdrom%*==** echo NO CDROM
if NOT *%cdrom%*==** ECHO CDROM IS %CDROM%

[ 本帖最后由 dos时代菜鸟 于 2010-1-11 12:43 编辑 ]




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3