[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] [已解决]xp系统下,运行1次bat或者vbs代码,就自动将ghost安装到xp启动菜单里面。

本帖最后由 ygqiang 于 2015-1-8 11:05 编辑

[已解决]xp系统下,运行1次bat或者vbs代码,就自动将ghost安装到xp启动菜单里面。
xp启动菜单里面显示单独的一个选项。开机可以选择进入,进入以后直接启动某个版本的ghost
(有3个版本的ghost)(ghost都是在dos环境下运行的)。
(虽然也有很多软件,但需要频繁多次点击鼠标才能装上。而且主要是经常重装xp系统)
如何实现?谢谢

网上看到的资料。。。


@echo off
title 正在判定系统引导器类型……
color 1f
attrib -s -r -h >nul 2>nul
set disname=启动系统维护工具-20110210版
set timeout=3
if exist c:\boot.ini goto ntldr
if exist c:\boot\bcd goto bootmgr  
goto nosys

:ntldr
title 系统启动属于ntldr类型,正在安装工具,请稍等……
type c:\boot.ini| find "\ZHANGHD.LDR" >nul && echo. && title 本工具已经安装,请退出。&& pause && goto clear
echo=>>c:\boot.ini
echo=>>c:\boot.ini
echo C:\ZTPE\GRUB\ZHANGHD.LDR="%disname%">>c:\boot.ini
bootcfg /timeout %timeout% >nul 2>nul
goto clear

:bootmgr
title 系统启动属于bootmgr类型,正在安装工具,请稍等……
set vid=
bcdedit >bcdtemp.txt
type bcdtemp.txt | find "\ZHANGHD.LDR" >nul && echo. && title 本工具已经安装,请退出。&& pause && del ntldr && goto clear
bcdedit  /create /d "%disname%" /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 \ZTPE\GRUB\ZHANGHD.LDR >nul
bcdedit  /displayorder %vid% /addlast >nul
bcdedit  /timeout  %timeout% >nul
del ntldr >nul 2>nul
goto clear

:nosys
title C盘没有发现系统引导器,正在安装工具到硬盘,请稍等……
echo 请手动删除C盘的NTLDR,然后重命名文件ZHANG到文件名NTLDR,然后按任意键继续
@pause >nul 2>nul
bootsect /nt52 C:
goto clear

:clear
del ntdetect.com >nul 2>nul
del bootfont.bin >nul 2>nul
del autoexec.bat >nul 2>nul
del config.sys >nul 2>nul
del autoexec.bat >nul 2>nul
del config.sys >nul 2>nul
del bcdtemp.txt >nul 2>nul
del vid.ini >nul 2>nul
del vid.txt >nul 2>nul
del bcd_backup.log >nul 2>nul
del bcd_backup.log1 >nul 2>nul
del bcd_backup.log2 >nul 2>nul
del bcd_backup.log1 >nul 2>nul
attrib +s +r +h   >nul 2>nul
attrib +s +r +h  ZTPE >nul
attrib +s +r +h  ZTPE\DESKTOP.INI >nul
attrib -s -r -h SETUP.CMD
title 安装已经完成,重新启动选择菜单进入系统维护工具。
@pause
del %0




加 echo. 很有必要相当于回车输出一空行,避免加到文件尾部,如果文件结束有空行则看不出来~~
保险起见批处理要以下最少三行内容
attrib -r c:\boot.ini
echo. >>c:\boot.ini
echo C:\wgldr.mbr="一键恢复系统" >>c:\boot.ini

TOP

本帖最后由 ygqiang 于 2015-1-8 16:32 编辑
以上是Win7PE版本,支持VHD差分系统备份的恢复,支持Ghost备份的恢复。
另有纯DOS版本,仅仅支持Ghost备份 ...
yu2n 发表于 2015-1-8 09:40



    复杂问题简单化。

还是利用现成的启动软件吧。

不过是改造成运行1个bat 文件,就全自动安装到xp启动菜单上了。不需要频繁用鼠标手动点击好多次了。
  1. @echo off
  2. if "%1" == "h" goto begin
  3. mshta vbscript:createobject("wscript.shell").run("%~fs0 h",0)(window.close)&&exit
  4. :begin
  5. rem 下边开始写批处代码了
  6. set timeout=3
  7. set "rar=%ProgramFiles%\WinRAR\WinRAR.exe"
  8. if exist c:\boot.ini goto ntldr
  9. exit
  10. :ntldr
  11. bootcfg /timeout %timeout% >nul 2>nul
  12. attrib -s -r -h c:\boot.ini
  13. echo. >>c:\boot.ini
  14. findstr /c:"WDOS工具箱" c:\boot.ini >nul || >>c:\boot.ini echo C:\wzldr="WDOS工具箱"
  15. findstr /c:"通用 PE 工具箱" c:\boot.ini >nul || >>c:\boot.ini echo C:\WXPE\PELOAD=通用 PE 工具箱
  16. if not exist c:\WZBOOT "%rar%" x -y "WDOS工具箱.rar" c:\
  17. if not exist c:\PETools "%rar%" x -y "通用 PE 工具箱.rar" c:\
  18. attrib +s +r +h c:\boot.ini
  19. exit
复制代码

TOP

回复  ygqiang 这样可以避免重复写入
DAIC 发表于 2015-1-8 14:47



    多谢了。。。最终代码。。
  1. @echo off
  2. if "%1" == "h" goto begin
  3. mshta vbscript:createobject("wscript.shell").run("%~fs0 h",0)(window.close)&&exit
  4. :begin
  5. rem 下边开始写批处代码了
  6. set timeout=3
  7. set "rar=%ProgramFiles%\WinRAR\WinRAR.exe"
  8. if exist c:\boot.ini goto ntldr
  9. exit
  10. :ntldr
  11. bootcfg /timeout %timeout% >nul 2>nul
  12. attrib -s -r -h c:\boot.ini
  13. echo. >>c:\boot.ini
  14. findstr /c:"WDOS工具箱" c:\boot.ini >nul || >>c:\boot.ini echo C:\wzldr="WDOS工具箱"
  15. findstr /c:"通用 PE 工具箱" c:\boot.ini >nul || >>c:\boot.ini echo C:\WXPE\PELOAD=通用 PE 工具箱
  16. if not exist c:\WZBOOT "%rar%" x -y "WDOS工具箱.rar" c:\
  17. if not exist c:\PETools "%rar%" x -y "通用 PE 工具箱.rar" c:\
  18. attrib +s +r +h c:\boot.ini
  19. exit
复制代码

TOP

windows7的启动菜单项不像XP或2003那样编辑方便,windows7没有boot.ini.虽然可以通过bcdedit编辑和修改,但总感觉不那么方便迅速。为了方便,写了一个批处理用来编辑(包括添加和删除)win7的启动菜单项。

需要注意的是添加的启动菜单项的引导文件名一定不要填错,且文件一定要放到C盘根目录下!

另外,如果你的系统已经直接启用超级管理员(administrator)登录系统了,就不用右键-以管理员身份运行批处理了,直接双击运行即可。win7启用超级管理员(administrator)的方法:在“计算机”上点击鼠标右键选择“管理”,在“系统工具”-“本地用户和组”-“用户”里右键点击“Administrator”,选择属性,把“帐户已禁用”取消,然后退出管理并注销系统,选择Administrator帐户再登录



@echo off
@title 正在编辑bcdedit…By 百味人生http://baivi.com
MODE con COLS=60 LINES=10 &COLOR 0a
setlocal EnableDelayedExpansion
cd c:\windows\system32\
echo.
echo.
set /p name=输入你要添加的启动项名:
set /p path=输入你要添加的启动项的引导文件名:
bcdedit /create /d "%name%" /application bootsector>c:\1.txt
for /f "tokens=2 delims= " %%i in (c:\1.txt) do set dim=%%i

bcdedit /set %dim% device partition=c:
bcdedit /set %dim% path \%path%
bcdedit /displayorder %dim% /addlast

del c:\1.txt
cls
echo.
echo.
echo 正在编辑中,请稍候…
ping /n 4 127.0.0.1>nul 2>nul
cls
echo.
echo 创建了名为"%name%"的启动菜单项
echo.
echo 要删除此启动菜单项请按 1
echo.
echo 保留启动菜单项并退出请按任意键
echo.
echo.



set /p num=输入选项:
if "%num%"=="1" (
goto 1
)
goto 2



:1
bcdedit /delete %dim%>nul
echo 删除完毕!按任意键退出 & pause>nul

:2
set name=
set dim=
set path=
set num=
exit

TOP

楼上的各位兄台,我是新手,对于批处理只懂一点点。现在我有个问题想请教。
我管理一个机房,有50台电脑, ...
betterplayer 发表于 2015-12-27 01:25



    不懂,求高手解决。。

TOP

回复 16# aa77dd@163.com


    能否设计成:xp系统,桌面环境下。
1、双击/运行某个bat,自动将dos环境和ghost软件装到xp启动菜单上,自动重启xp系统,开始自动ghost备份c盘系统分区到d盘根目录下。
2、双击/运行另1个bat,自动将dos环境和ghost软件装到xp启动菜单上,自动重启xp系统,开始自动将d盘根目录下的gho文件ghost还原到c盘系统分区上。

TOP

回复 18# aa77dd@163.com


    抱歉。。。不会啊。。。

TOP

回复 20# pcl_test


    他需要的是:全自动化/自动ghost还原操作吧?

TOP

返回列表