无忧启动论坛

标题: 批处理判断系统状态 [打印本页]

作者: jonson_qf    时间: 2008-4-27 00:46
标题: 批处理判断系统状态
如果想实现用批处理判断现在是处于win状态下(暂定为xp状态)还是处于pe下,该如何编写批处理呢?请知道的朋友帮个忙,多谢!

PS:已经搜索了论坛的相关帖子了,但是还没有找到答案,听一个朋友说之前在论坛看到过一个帖子有提到,需要读取注册表的信息,利用注册表的项来判断,但是确切的该怎么办呢?如果不要读取注册表,是否有其他更好的办法?
作者: jonson_qf    时间: 2008-4-27 20:51
这个大家觉得太容易还是不可能实现?米人帮下忙?
作者: hytmtet    时间: 2008-4-27 20:53
这个...判断一个文件就是啦
例如boot.ini
if not exist %systemroot%\boot.ini  echo 当前是PE状态&goto ext
echo 当前是xp状态
:ext
pause
作者: hytmtet    时间: 2008-4-27 20:54
如果boot.ini不准
就找个windows目录里面的文件来判断就是了
PE和XP的windows目录中文件相差很大的
作者: jonson_qf    时间: 2008-4-27 22:16
原帖由 hytmtet 于 2008-4-27 08:54 PM 发表
如果boot.ini不准
就找个windows目录里面的文件来判断就是了
PE和XP的windows目录中文件相差很大的


boot.ini应该不准的,如果我是进入到pe下,c盘照样还不是有boot.ini的存在,如果原来已经存在操作系统的话

pe的windows目录?有的pe就没有windows目录的。

现在的pe基本用的x盘,如果判断是否存在x盘不知道是否可行,不过准确性还是不太好吧
作者: netwinxp    时间: 2008-4-27 22:24
判断%SystemRoot%\System32\config下面是否存在注册表system,除了BT的淫,否则正常的pe下面不会有system这个注册表。
if not exist %systemroot%\system32\config\system goto pe
:xp
....
goto end
:pe
....
:end
...

[ 本帖最后由 netwinxp 于 2008-4-27 10:46 PM 编辑 ]
作者: edisonvon    时间: 2008-4-27 22:29
if的命令用的不错3楼的哥们^_^
作者: edisonvon    时间: 2008-4-27 22:31
if else也可以写出来吧
作者: edisonvon    时间: 2008-4-27 22:35
这个...判断一个文件就是啦
例如boot.ini
@echo off
if not exist %SystemDrive%\boot.ini  echo 当前是PE状态&goto ext
echo 当前是xp状态
:ext
pause

SystemRoot=c:\windows
boot.ini在c盘艮目录下的

你试试看这个
@echo off
if exist "%SystemDrive%\boot.ini" (echo 系统是xp) ELSE echo 不是xp系统
pause

[ 本帖最后由 edisonvon 于 2008-4-28 09:43 AM 编辑 ]
作者: jonson_qf    时间: 2008-4-28 00:36
原帖由 netwinxp 于 2008-4-27 10:24 PM 发表
判断%SystemRoot%\System32\config下面是否存在注册表system,除了BT的淫,否则正常的pe下面不会有system这个注册表。
if not exist %systemroot%\system32\config\system goto pe
:xp
....
goto end
:pe
...


多谢帮忙,我尝试下
作者: edisonvon    时间: 2008-4-28 09:43
标题: 回复 #10 tuvw480 的帖子
你的垃圾还做广告,我鄙视你
作者: wanmm2001    时间: 2008-4-28 13:58
原帖由 jonson_qf 于 2008-4-27 10:16 PM 发表


boot.ini应该不准的,如果我是进入到pe下,c盘照样还不是有boot.ini的存在,如果原来已经存在操作系统的话

pe的windows目录?有的pe就没有windows目录的。

现在的pe基本用的x盘,如果判断是否存在x盘 ...


---------------------------

%SystemRoot%和C盘无关,它是指当前使用的系统所属的windows目录。

pe是x盘,那就是x:\windows
作者: hytmtet    时间: 2008-4-28 18:55
systemroot和systemdrive都是变量
判断boot.ini也比较准确的
就目前来讲
还没见过PE的根目录有boot.ini的
在3楼的时候笔误写成了systemroot
也就是x:\wxpe目录或c:\windows目录之类的
系统盘分区根目录是
systemroot


不同系统中这变量代表的值当然也不一样
作者: netwinxp    时间: 2008-4-28 19:28
原帖由 hytmtet 于 2008-4-28 18:55 发表
systemroot和systemdrive都是变量
判断boot.ini也比较准确的
就目前来讲
还没见过PE的根目录有boot.ini的
在3楼的时候笔误写成了systemroot
也就是x:\wxpe目录或c:\windows目录之类的
系统盘分区根目录是 ...

非RAM硬盘PE启动盘也可能是C(主要看winnt.sif里面的osloader后面的参数),所以判断boot.ini是考虑不周滴。

[ 本帖最后由 netwinxp 于 2008-4-28 07:30 PM 编辑 ]
作者: 9zhmke    时间: 2008-5-3 18:04
没试过VER在PE下的提示是什么,应该用这个最准吧




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