无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3933|回复: 11
打印 上一主题 下一主题

[讨论] DOS批处理ghost去恢复一个镜像,硬盘式NTFS格式,求思路获取文件名...

[复制链接]
跳转到指定楼层
1#
发表于 2013-3-31 23:24:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
先看这段批处理

autoexec.bat里面的一段

:define_cd
@if exist P:\boot\ghosign.txt set GhostCDROM=O:
@if exist P:\boot\ghosign.txt set GhostCDROM=P:
@if exist Q:\boot\ghosign.txt set GhostCDROM=Q:
@if exist X:\boot\ghosign.txt set GhostCDROM=X:
@if exist Y:\boot\ghosign.txt set GhostCDROM=Y:
@if exist Z:\boot\ghosign.txt set GhostCDROM=Z:

@lh smartdrv 32000 32000
@for %%i in (%GhostCDROM%\gho\*.gho) do set gho=%%i
%GhostCDROM%\tools\ghost\ghost -clone,mode=pload,src=%gho%:1,dst=1:1 -sure -fx


这样的话,能顺利把cdrom上\gho目录内未知的文件恢复到C盘了...


CDROM驱动被DOS加载起来就没问题的,但现在的问题是:
如果在硬盘D盘上(ghost应该叙述为1:2磁盘吧)的\gho文件夹内有一个(未知文件名).gho,想把它恢复到C盘,应该怎么解决这个问题?
D盘是NTFS格式,纯DOS里有什么办法启动起对这个磁盘的读区?(然后去for出文件名)


或者有没有其它什么思路?  反正这个启动引导操作能做成一个img文件里,被GRUB4DOS调用起来自动做恢复就可以了,
这样做的目的是:
有多个不同版本的镜像,按时间生成的,序号每次,每个环境产生都文件名都不同,我不想每次都去改autoexec.bat里的文件名,但有不想每次进ghost去逐层菜单手动旋转文件操作。。。,于是想这样实现。。。
2#
发表于 2013-4-1 22:35:38 | 只看该作者
纯dos下没有for命令.
回复

使用道具 举报

3#
发表于 2013-4-2 09:57:11 | 只看该作者
楼主为什么不PE下Ghost32呢
PE下使用一键恢复就很多可选择
11.5.1.2269 开始支持动动态盘符,如D盘是@OS:D
D盘不一定就是1:2~~我的D盘会被识别1:4


回复

使用道具 举报

4#
发表于 2013-4-3 21:45:58 | 只看该作者
原帖由 zlgs 于 2013-4-2 09:57 发表
楼主为什么不PE下Ghost32呢
PE下使用一键恢复就很多可选择
11.5.1.2269 开始支持动动态盘符,如D盘是@OS:D
D盘不一定就是1:2~~我的D盘会被识别1:4


158816

就像3楼朋友说的,楼主为什么不选PE呢?
如果PE环境为64位,调用GHOST64那至少备份还原速度上提高不少
操作直观、方便,比DOS下不光速度快,而且方便其他维护工具同步辅助进行
回复

使用道具 举报

5#
发表于 2013-4-5 11:24:43 | 只看该作者
原帖由 pppguest3962 于 2013-3-31 23:24 发表
CDROM驱动被DOS加载起来就没问题的,但现在的问题是:
如果在硬盘D盘上(ghost应该叙述为1:2磁盘吧)的\gho文件夹内有一个(未知文件名).gho,想把它恢复到C盘,应该怎么解决这个问题?

D盘是NTFS格式,纯DOS里有什么办法启动起对这个磁盘的读区?(然后去for出文件名)

或者有没有其它什么思路?  反正这个启动引导操作能做成一个img文件里,被GRUB4DOS调用起来自动做恢复就可以了,
这样做的目的是:
有多个不同版本的镜像,按时间生成的,序号每次,每个环境产生都文件名都不同,我不想每次都去改autoexec.bat里的文件名,但有不想每次进ghost去逐层菜单手动旋转文件操作。。。,于是想这样实现。。。


硬盘全是NTFS格式,应该是楼主所说的1:2或1.2格式,如果是综合分区就不一定了,所以楼主要做成这样一个IMG文件还是要花一定的功夫的……

偶这里贴上一个偶自己在网上学习拼凑起来的东东,用着还行,就是有点慢(纯DOS下也别想快到哪儿去),楼主觉得有用可以自己修成专用的,现丑了……

BAT文件如下:
rem 查找并恢复其他备份
@echo off
CLS
set actp=
if exist mini_dd.txt del mini_dd.txt
minito /nohp /p /ifs>mini_dd.txt
strings lines=LINESIZE mini_dd.txt
set line=1
call w.bat box @SDHF.BAT:srdm_1
if errorlevel 100 goto exit
if %wjm%#==# set wjm=gho
:mini
strings line=add %line%,1
strings lined=read mini_dd.txt,%line%
if %lined%#==# goto mini_1
strings row0=mid %lined%,4,1
if %row0%#==# goto mini_2
strings row1=left %lined%,4
goto mini_3
:mini_2
strings row1=left %lined%,3
strings row7=mid %lined%,8,2
:mini_3
strings row3=mid %lined%,8,2
strings row5=mid %lined%,19,3
if not %actp%#==# goto mini_4
if not %row5%#==YES#  goto mini_4
set actp=%row1%
set actd=%row7%
:mini_4
set lastp=%row1%
set lastd=%row3%
cls
echo 正在%row3%盘查找备份文件(*.%wjm%,请耐心等待,不要关闭和重启电脑)……
for %%i in (%row3%) do dir /b /s %%i\*.%wjm%>>temp.txt
find /i ".%wjm%" temp.txt>nul
goto mini
:mini_1
cls
call W.BAT list @temp.txt
wbat box "你的选择是:^ %wbat% " 确定
echo %wbat%>test.txt
strings pf=read test.txt,1
strings pf=left %pf%,2
strings lj=read test.txt,1
strings lj=mid %lj%,3,20
if not %actd%#==C:# goto mini_5_1
if %pf%#==D:# set la=1.2
if %pf%#==E:# set la=1.3
if %pf%#==F:# set la=1.4
if %pf%#==G:# set la=1.5
if %pf%#==H:# set la=1.6
if %pf%#==I:# set la=1.7
if %wbat%#==# goto mini_6
set drv=%la%.%lj%
goto mini_5
:mini_5_1
if %pf%#==D:# set la=1.1
if %pf%#==E:# set la=1.2
if %pf%#==F:# set la=1.3
if %pf%#==G:# set la=1.4
if %pf%#==H:# set la=1.5
if %pf%#==I:# set la=1.6
if %pf%#==J:# set la=1.7
if %wbat%#==# goto mini_6
set drv=%la%.%lj%
goto mini_5
:mini_5
if exist mini_dd.txt del mini_dd.txt
if exist test.txt del test.txt
if exist temp.txt del temp.txt
xmsman -c >NUL
Ghost -clone,mode=pload,src=%drv%:1,dst=%actp% -sure -fx
if %wrb%#==1# r.bat
if %wrb%#==2# s.bat
goto exit
:srdm_1 "欢迎使用自动备份/恢复软件" [x]
┌─────────────────┐
│    请输入恢复文件后缀名、如:gho │
├─────────────────┤
│如果你有自定义的文件后缀名,请输入│
├───────┬─────────┤
│   文件后缀名:│*.[$ wjm,20      ]│
├───────┴─────────┤
│                                  │
├─────────────────┤
│                                  │
└─────────────────┘
      制作:江河  QQ:96470
           
           2012年02月
:
:mini_6
cis
echo 没有找到 *.%wjm% 文件,请按“M”回到主菜单,重新查找……
:exit

[ 本帖最后由 jh1688 于 2013-4-5 11:37 编辑 ]
回复

使用道具 举报

6#
发表于 2013-4-6 10:59:27 | 只看该作者

http://bbs.wuyou.net/forum.php?m ... &extra=page%3D3

早就有你要的功能了。已经存在很长时间了
回复

使用道具 举报

7#
发表于 2013-4-6 11:09:36 | 只看该作者
楼主为什么不选PE呢?
回复

使用道具 举报

8#
 楼主| 发表于 2013-4-7 00:08:51 | 只看该作者
刚回到宿舍,
回楼上的各位朋友:
DOS是有for的,不过我不记得我用的是什么版本,下次开启的的时候,留意一下,纯不纯就不太清楚了

不用PE的原因是因为没有批处理那么容易一系列操作,一气呵成,PE应该可以吧?  只是autoexec.bat用习惯了,还可以gdisk在命令行下面分了区,再ghost恢复呢(适用于新硬盘开局)
PE里面能进入后,不用手工操作,自动脚本完成一系列的操作应该可以做吧?估计比较复杂,我不会做这些自动化操作,有思路介绍一下吗?
回复

使用道具 举报

9#
发表于 2013-4-7 09:20:29 | 只看该作者
PE下不行么?
回复

使用道具 举报

10#
发表于 2013-4-7 15:55:08 | 只看该作者
再次 回复 楼主  我的 dos工具箱 有此功能 。
进  dos区版块 ,有  我写的  用  omnifs  搜索 整个硬盘 各个 分区 的 gho 文件 的 脚本 。
支持  ntfs 分区 。

我的 dos工具箱 中 进一步改进了 omnifs 搜索 脚本 ,可以 自定义 搜索 的文件类型 和 目录深度 。
回复

使用道具 举报

11#
 楼主| 发表于 2013-4-13 20:07:29 | 只看该作者
dos时代菜鸟 发表于 2013-4-7 15:55
再次  回复 楼主  我的 dos工具箱 有此功能 。
进  dos区版块 ,有  我写的  用  omnifs  搜索 整个硬盘 各 ...

非常有用!!! omnifs是个好东西,
这个周末得益于此,太感谢了!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-2-9 12:24

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表