无忧启动论坛

标题: 求助批处理怎样修改!!! [打印本页]

作者: xiarihaifeng    时间: 2007-12-23 14:21
标题: 求助批处理怎样修改!!!
运行批处理后,在C盘下的boot.ini是这样的:
[boot loader]
timeout=1
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
c:\yyldr="启动ghost"

批处理的文件如下:
@echo off
attrib boot.ini  -s -h -r -a
echo c:\yyldr="启动ghost">>boot.ini
attrib boot.ini  +s +h +r +a

如果再次运行批处理,最下面又会多出一行c:\yyldr="启动ghost"。
求助如果再次运行批处理,在最下面只出现一行c:\yyldr="启动ghost",批处理怎样修改呢?
作者: lianjiang    时间: 2007-12-23 14:47
记得前两天就有人有同样问题,翻帖子。
作者: hytmtet    时间: 2007-12-23 15:02
可以用type命令
然后来find "c:\yyldr"
如果存在
则不执行echo c:\yyldr="启动ghost">>boot.ini
并提示已经安装之类的
如果不存在
则执行echo c:\yyldr="启动ghost">>boot.ini




需要的语句 type boot.ini|find "c:\yyldr"
if errorlevel...之类的

貌似楼上出的将grldr.mbr装入vista的bcd批处理就有这语句
作者: semiuel    时间: 2007-12-23 23:24
原帖由 lianjiang 于 2007-12-23 02:47 PM 发表
记得前两天就有人有同样问题,翻帖子。


我也在找这个帖子,现在找来找去找不到了.
作者: lianjiang    时间: 2007-12-24 07:35
原帖由 semiuel 于 2007-12-23 11:24 PM 发表


我也在找这个帖子,现在找来找去找不到了.

翻了几次,那个帖子好像真没了。怪事。
重贴一遍,以下是安装到vista启动项的批处理。处理方法一样。自己修改变通。
--------------------------------------
安装批处理

@echo off
rem by lianjiang
cls
echo.
echo 请以管理员身份运行。
echo.
pause
set gname=GRUB for DOS
set vid=
set timeout=5
bcdedit >bcdtemp.txt
type bcdtemp.txt | find "\grldr.mbr" >nul && echo. && echo BCD启动项中已有grub4dos的项目,无需再安装。&& pause && goto exit
bcdedit /export "Bcd_Backup" >nul
bcdedit /create /d "%gname%" /application bootsector >vid.ini
for,/f,"tokens=2 delims={",%%i,In (vid.ini) Do (
     set vida=%%i
)
for,/f,"tokens=1 delims=}",%%i,In ("%vida%") Do (
     set vid={%%i}
)
echo %vid%>vid.ini
bcdedit /set %vid% device boot >nul
bcdedit /set %vid% path \grldr.mbr >nul
bcdedit /displayorder %vid% /addlast >nul
bcdedit /timeout %timeout% >nul
if exist grldr.mbr copy grldr.mbr %systemdrive%\ /y && goto exit
echo.
echo 稍后请自行把grldr.mbr拷贝到%systemdrive%\根目录
echo.
pause
:exit
del bcdtemp.txt >nul
作者: 123    时间: 2007-12-24 15:49
原帖由 lianjiang 于 2007-12-24 07:35 发表

翻了几次,那个帖子好像真没了。怪事。
重贴一遍,以下是安装到vista启动项的批处理。处理方法一样。自己修改变通。
--------------------------------------
安装批处理

@echo off
rem by lianjiang
...

有很多都叫GRLDR,怎么知道是不是你那个?
attrib -s -r -h %TP%\boot.ini
findstr /i /b /l /v "C:\grldr=""系统维护工具箱""" %TP%\boot.ini > %TP%\$boot.ini$
del %TP%\boot.ini
ren %TP%\$boot.ini$ boot.ini
echo C:\grldr="系统维护工具箱">>%TP%\boot.ini
attrib +h %TP%\boot.ini
作者: lianjiang    时间: 2007-12-24 16:50
给的只是例子,提供操作思路。
特征字符修改成自己的引导项名称,或者把等号前后一起包括在内,就可以了。
当然处理方法有多种。
作者: lianjiang    时间: 2007-12-24 16:54
即使有多个不同软件加的grldr在boot.ini中,能用的也只有一个。
作者: 123    时间: 2007-12-24 18:32
原帖由 lianjiang 于 2007-12-24 16:54 发表
即使有多个不同软件加的grldr在boot.ini中,能用的也只有一个。

直接覆盖了,省得为别的东西让位。
作者: xiarihaifeng    时间: 2007-12-24 21:18
标题: 感谢各位高手的指点,自己搞定了!!!
@echo off
type boot.ini>boot.bak
attrib -s -h -r -a boot.ini
type boot.bak|find "boot loader" /i>boot.ini
echo timeout=1 >>boot.ini
type boot.bak|find "boot loader" /i /v|find "timeout" /i /v>>boot.ini
attrib +s +h +r +a boot.ini
del c:\boot.bak
type %systemdrive%\boot.ini>%systemdrive%\boot.bak
attrib -h -r -s %systemdrive%\boot.ini
type %systemdrive%\boot.bak|find "c:\yyldr" /i /v>%systemdrive%\boot.ini
attrib +s +r +h %systemdrive%\boot.ini
attrib boot.ini  -s -h -r -a
echo c:\yyldr="启动ghost">>boot.ini
attrib boot.ini  +s +h +r +a
del c:\boot.bak
echo 欢迎使用  Ghost11.0.1版虚拟启动盘  安装向导
echo 使用前请您先阅读以下条款:
echo    1、此程序仅供学习和研究使用,未经同意,不得修改,否则将追究相关法律责任。
echo    2、不保证所提供程序的完整性和安全性。
echo    3、由程序对您的网站或计算机造成严重后果的概不负责。
pause
del c:\ghost.bat

[ 本帖最后由 xiarihaifeng 于 2007-12-24 09:23 PM 编辑 ]
作者: xiarihaifeng    时间: 2007-12-24 21:21
Ghost11.0.1 虚拟启动盘做好了,有需要吗?
不知还有什么问题,请各位高手指点一下!!!

[ 本帖最后由 xiarihaifeng 于 2007-12-24 09:33 PM 编辑 ]
作者: 阿非    时间: 2007-12-24 21:23
boot.ini 是固定在C盘的,systemdrive不一定在C盘
作者: xiarihaifeng    时间: 2007-12-24 21:26
标题: 回复 #12 阿非 的帖子
还有什么问题,请指导一下!!!
作者: 阿非    时间: 2007-12-24 21:32
偶也是菜鸟,只会照猫画虎
你的P,里面路径不清晰啊
看样子你是把p放在C盘运行的,那么里面的路径都可以省略了




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