Board logo

标题: [系统相关] 一键还原代码分析修改,高手大侠们都进来 [打印本页]

作者: elexy    时间: 2009-11-15 15:00     标题: 一键还原代码分析修改,高手大侠们都进来

以下有两段批处理,分别为GHOBT.bat  和 GHOBT2.bat ,利用GHOST进行一键还原使用,先是在所有驱动器上都建立一下 MSGHOST 文件夹,然后判断GHOST在哪个文件夹下生成了映像文件,最后把其他驱动器上的空MSGHOST 目录删除,但是经测试,以下脚本会将所有的 MSGHOST 文件夹删除。。。。请问各位大侠,如何修改才能达到目的???

GHOBT.bat
  1. @ECHO OFF
  2. SET GhoDRV=%1
  3. attrib -h -r -s %GhoDRV%:\msghost>nul
  4. if not exist %GhoDRV%:\msghost\msgho.ini goto ghost3
  5. strings o=read %GhoDRV%:\msghost\msgho.ini,1
  6. strings p=read %GhoDRV%:\msghost\msgho.ini,2
  7. strings q=right %o%,3
  8. strings r=right %p%,3
  9. set partd=%r%
  10. attrib +h +r +s %GhoDRV%:\msghost>nul
  11. xmsman -c>nul
  12. ghost.exe -clone,mode=pdump,src=%sys%,dst=%partd%:\msghost\msghost.smy -fx -sure -z3 -nousb %noide%
  13. goto EXIT
  14. :ghost3
  15. for %%v in (%Drv%) do md %%v:\msghost>nul
  16. xmsman -c>nul
  17. ghost.exe -clone,mode=pdump,src=%sys%,dst=%partd%:\msghost\msghost.smy -fx -sure -z3 -nousb %noide%
  18. goto ximen
  19. :ximen
  20. call NTFS.bat
  21. for %%h in (%Drv%) do if exist %%h:\msghost\msghost.smy GHOBF2 %%h
  22. goto EXIT
  23. :EXIT
复制代码
______________________________________________________________

GHOBT2.bat
  1. @ECHO OFF
  2. set k=%1
  3. attrib -h -r -s %k%:\msghost>nul
  4. echo system=%sys%>%k%:\msghost\msgho.ini
  5. echo gho=%partd%>>%k%:\msghost\msgho.ini
  6. echo.>>%k%:\msghost\msgho.ini
  7. echo.>>%k%:\msghost\msgho.ini
  8. echo 请勿删除此文件,否则恢复程序无法运行!>>%k%:\msghost\msgho.ini
  9. attrib +h +r +s %k%:\msghost>nul
  10. for %%y in (%Drv%) do rd %%y:\msghost>nul
  11. xmsman -c>nul
  12. exit
复制代码

作者: elexy    时间: 2009-11-15 15:03

小弟试了一下使用 ren 改文件夹名,但是没成功
作者: Taurus    时间: 2009-11-15 16:25     标题: 回复 2楼 的帖子

没太仔细看,但你指的应该是这里:
@ECHO OFF
set k=%1
attrib -h -r -s %k%:\msghost>nul
echo system=%sys%>%k%:\msghost\msgho.ini
echo gho=%partd%>>%k%:\msghost\msgho.ini
echo.>>%k%:\msghost\msgho.ini
echo.>>%k%:\msghost\msgho.ini
echo 请勿删除此文件,否则恢复程序无法运行!>>%k%:\msghost\msgho.ini
attrib +h +r +s %k%:\msghost>nul
for %%y in (%Drv%) do rd %%y:\msghost>nul
xmsman -c>nul
exit
for %%y in (%Drv%) do if not exist "%%y:\msghost\msgho.ini" rd "%%y:\msghost"

作者: elexy    时间: 2009-11-15 17:07

谢谢楼上的!!问题解决!!!




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2