无忧启动论坛

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

Ali88home(几种热键安装版本)

[复制链接]
61#
 楼主| 发表于 2010-8-5 17:25:49 | 只看该作者
@echo off
cls
ghost.exe -dd
awk.exe -f lastdrv.awk ghststat.txt|nset bakp=$1
ghost.exe -clone,mode=pdump,src=1:1,dst=%bakp%\winc.gho -z2 -auto -fro -fx -sure
if errorlevel 1 goto error
echo  Backup ok Success
pause
goto exit

:error
echo Backup Wrong Fail
pause


del %bakp%\winc*.*


:exit

======================
批处理后学太菜了。请教大大们:
安装在最后逻辑分区FAT32、NTFS,使用了grub4dos引导IMG,请教大大们,如何能辨别del %bakp%\winc*.*
这个最后逻辑分区,认备份失败自动删除备份winc.gho。
回复

使用道具 举报

62#
发表于 2010-8-6 10:46:20 | 只看该作者
这个我一个想到的就是 omnifs  ghost 自带的分区内文件管理程序。
如果能确定 %bakp% 的分区标号 比如:1:8 用omnifs 最直接方便。

你的那个 lastdrv.awk  内容是什么?适用于什么版本的 ghost ? 获得的 %bakp% 是什么样子的。

[ 本帖最后由 dos时代菜鸟 于 2010-8-6 10:48 编辑 ]
回复

使用道具 举报

63#
 楼主| 发表于 2010-8-6 12:05:25 | 只看该作者
原帖由 dos时代菜鸟 于 2010-8-6 10:46 发表
这个我一个想到的就是 omnifs  ghost 自带的分区内文件管理程序。
如果能确定 %bakp% 的分区标号 比如:1:8 用omnifs 最直接方便。

你的那个 lastdrv.awk  内容是什么?适用于什么版本的 ghost ? 获得的 %b ...


这个是利用ghost.exe -dd查找到分区方式,现在是显示1.8,使用1102版本。
dos下操作ghost失败,del无法用1.8删除失败的。gho,
最后逻辑分区,借助IMG驱动一键界面,作备份还原操作,无法删除操作失败的的。gho档案。

那个 lastdrv.awk 内容是什么?不了解,由其它一键取得,后学批处理太菜了,不过应该跟gghost-lianjiang
有个批处理相似。
回复

使用道具 举报

64#
发表于 2010-8-6 13:38:35 | 只看该作者
原帖由 chen463 于 2010-8-6 12:05 发表


这个是利用ghost.exe -dd查找到分区方式,现在是显示1.8,使用1102版本。
dos下操作ghost失败,del无法用1.8删除失败的。gho,
最后逻辑分区,借助IMG驱动一键界面,作备份还原操作,无法删除操作失败的的 ...


omnifs 可以直接在dos下删除ntfs/fat32 分区中的文件
omnifs 是ghost 附带的一个工具软件。

omnifs是DOS下执行任意盘符上的文件、查看硬盘分区信息的好工具(包括NTFS格式的分区)。
下面是它的使用方法介绍:
使用方法:
omnifs /accessmethods command
其中command可以是
help -帮助信息
info -显示卷信息
diskinfo -察看磁盘信息
version -显示版本信息
attrib/copy/delete/deltree/dir/mkdir/rename -文件操作命令
这些文件操作命令格式与dos本身的命令类似,区别在于盘符,如果是dos已经识别的盘符,可以直接用,如果dos没有识别的盘符,在diskinfo命令中会显示出类似于1.1/2.1之类的编号,用这个编号作为盘符即可,例如用omnifs dir 1.1:\windows\*.*
即可显示第一个磁盘上第一个分区中windows目录下的所有文件,其他命令类似
accessmethods是可选的,不带任何参数直接执行omnifs可以看到帮助,访问u盘有时需要加/forceusb

omnifs在每次启动的时候要收集磁盘信息,结束后所有信息丢失,下次启动要重新收集,会比较慢。
如果执行的任务比较多,可以考虑做成脚本形式,将要执行的命令(不包含omnifs前缀,比如直接写copy 1.1:\*.* 2.1:\*.*即可)全部保存在一个文本文件中,然后用omnifs
/script=file.txt即可执行所有命令

*====================================*

这是用它检测的硬盘信息:(激活区、大小、卷标、DOS看到的盘符等全有了)

Disk: 1 (37.28GB) M:[37.28GB] S:[662214644205]
1.1: ( 4.89GB)    Active Volume NTFS l:[WINXP]
1.2: (   11.27GB)    Volume NTFS
1.3: (   19.15GB) [C:\] Volume FAT32 l:[ O NAME]
      ( 1.97GB) Unused Space
1.4: ( 1.97GB) [D:\] Volume FAT32 l:[0428162441]
      ( 2.69MB) Unused Space

[ 本帖最后由 dos时代菜鸟 于 2010-8-6 13:42 编辑 ]
回复

使用道具 举报

65#
 楼主| 发表于 2010-8-6 20:30:05 | 只看该作者
原帖由 dos时代菜鸟 于 2010-8-6 13:38 发表


用 omnifs 可以直接在dos下删除ntfs/fat32 分区中的文件
omnifs 是ghost 附带的一个工具软件。

omnifs是DOS下执行任意盘符上的文件、查看硬盘分区信息的好工具(包括NTFS格式的分区)。
下面是它的使 ...


其实后学是想删除最后逻辑分区EISA隐藏区的备份失败的.gho档案。
omnifs看来后学还是需要学习了,o(∩_∩)o...哈哈,谢谢大大指导。
如果有更好建议,希望大大再指导一下。
回复

使用道具 举报

66#
发表于 2010-8-8 07:42:49 | 只看该作者
删除 %bakp%:\winc.gho 用
omnifs delete %bakp%:\winc.gho

如果用 ifsdrv 或者 ntfspro 等 还需要把最后一个分区 的%bakp% 转化成 类似c: d:  e: 的 dos盘符。如果 最后分区不是 ntfs格式呢? 如果硬盘包含多个 ntfs 分区呢? 问题就变得有些麻烦。

所以,我还是建议你 用 omnifs

编辑如下内容 批处理  可以自动删除 %bakp%\winc*.* ,需要 omnifs 和awk 并磁盘可写
-------------------------------------------
@echo off
omnifs dir %bakp%\|awk '$4~"winc"'|awk '{printf "delete %bakp%";printf "%%c",92;print $4}' >x.omn
if exist x.omn omnifs script x.omn
if exist x.omn del x.omn

---------------------------------
利用 omnifs dir 获取%bakp% 根目录下全部文件列表并交给 awk 筛选出 *winc*.* 再由awk 生成omnifs 所需脚本 x.omn ,用omnifs 通过 x.omn 删除 %bakp%\winc*.*

[ 本帖最后由 dos时代菜鸟 于 2010-8-8 08:40 编辑 ]
回复

使用道具 举报

67#
 楼主| 发表于 2010-8-9 18:24:48 | 只看该作者
原帖由 dos时代菜鸟 于 2010-8-8 07:42 发表
删除 %bakp%:\winc.gho 用
omnifs delete %bakp%:\winc.gho

如果用 ifsdrv 或者 ntfspro 等 还需要把最后一个分区 的%bakp% 转化成 类似c: d:  e: 的 dos盘符。如果 最后分区不是 ntfs格式呢? 如果硬盘包 ...

上面的方法,call *.bat。。。没有把备份失败的.gho删除,还在。
回复

使用道具 举报

68#
发表于 2010-8-10 14:41:58 | 只看该作者
原帖由 chen463 于 2010-8-9 18:24 发表

上面的方法,call *.bat。。。没有把备份失败的.gho删除,还在。


调用前应该:
1、确定 %bakp%  已经被赋予内容 为 包含 winc*.*
2、你可以把 bat  的内容分步骤执行 ,看看 到底差在什么地方

如果里面还掺杂 磁盘扇区 信息混乱,丢失,等磁盘问题,删除也可能失败。

看看 x.onm 的内容。放出来看看

[ 本帖最后由 dos时代菜鸟 于 2010-8-10 14:45 编辑 ]
回复

使用道具 举报

69#
 楼主| 发表于 2010-8-10 23:38:48 | 只看该作者
原帖由 dos时代菜鸟 于 2010-8-10 14:41 发表


调用前应该:
1、确定 %bakp%  已经被赋予内容 为 包含 winc*.*
2、你可以把 bat  的内容分步骤执行 ,看看 到底差在什么地方

如果里面还掺杂 磁盘扇区 信息混乱,丢失,等磁盘问题,删除也可能失败。 ...

由grub4dos引导【3       Logic】启动里面的一键img,所以生成的X.OMN无法保存,后学保存到c:\X.OMN,结果空空没有信息,更改dspt显示>disk.txt,得到下面结果:
Disk  Partitions  Cylinders  Heads  Sectors  TotalSectors   Mbytes
0       3         4092       16      63      4124736       2014   
No.  Drv  Type    Volume      PartType       Act  Offset      Sectors    MBytes
1       Primary              HPFS/NTFS      Yes  63          3298113    1610
2    C: Logic    OFFICE2G    Win95_FAT32         3298239     310401     151
3       Logic    PE2G        HPFS/NTFS           3608703     516033     251

从上面看来1jf9k已经把最后逻辑EISA隐藏区,给成功打开了磁盘,为何备份失败不能成功删除gho,后学在最后主分区的操作,因为在fat32运行,使用DEL很容易删除。
难道omnifs无法在IMG里面运行。还是错误操作了。
回复

使用道具 举报

70#
发表于 2010-8-11 13:50:06 | 只看该作者
原帖由 chen463 于 2010-8-10 23:38 发表

由grub4dos引导【3       Logic】启动里面的一键img,所以生成的X.OMN无法保存,后学保存到c:\X.OMN,结果空空没有信息,更改dspt显示>disk.txt,得到下面结果:
Disk  Partitions  Cylinders  Heads  Secto ...


把一个正常的文本文件改名为要删除文件名,然后看能不能删除。

估计是 ghost 备份被非常规中断,导致磁盘信息错误,无法通过常规办法删除。

我在66# 的方法 是 通过 awk 配合 onmifs 找出 要删除的文件列表,然后生成 一个 x.omn 文件用于 onmifs 作脚本调用,来删除 文件。
所以我要你 执行 前面一条命令也就是

omnifs dir %bakp%\|awk '$4~"winc"'|awk '{printf "delete %bakp%";printf "%%c",92;print $4}' >x.omn

然后看看 x.omn 是否已经生成,里面是否有内容。然后把内容告诉我。

[ 本帖最后由 dos时代菜鸟 于 2010-8-11 13:54 编辑 ]
回复

使用道具 举报

71#
 楼主| 发表于 2010-8-11 17:54:11 | 只看该作者
原帖由 dos时代菜鸟 于 2010-8-11 13:50 发表


把一个正常的文本文件改名为要删除文件名,然后看能不能删除。

估计是 ghost 备份被非常规中断,导致磁盘信息错误,无法通过常规办法删除。

我在66# 的方法 是 通过 awk 配合 onmifs 找出 要删除的文 ...

文件有了
Couldn't list 1:3\: DOS error: path not found (0x0003)

好像无法执行一般。

是不是dos下逻辑区NTFS无法删除备份失败文件。还是少了先辨别NTFS再删除的动作。

[ 本帖最后由 chen463 于 2010-8-11 18:14 编辑 ]
回复

使用道具 举报

72#
发表于 2010-8-11 20:25:00 | 只看该作者
原帖由 chen463 于 2010-8-11 17:54 发表

文件有了
Couldn't list 1:3\: DOS error: path not found (0x0003)

好像无法执行一般。

是不是dos下逻辑区NTFS无法删除备份失败文件。还是少了先辨别NTFS再删除的动作。


在dos 下 运行  set %bakp% 看看 %bakp% 的内容。我估计是 %bakp% 内容的问题,只有知道 他的表达形式 才可以改。
是 n:x: 还是 n:x 还是 n.x  注意 .  :  的位置 和个数

测试
omnifs dir %bakp%:\|awk '$4~"winc"'|awk '{printf "delete %bakp%:";printf "%%c",92;print $4}' >x.omn

[ 本帖最后由 dos时代菜鸟 于 2010-8-11 20:26 编辑 ]
回复

使用道具 举报

73#
发表于 2010-8-11 20:56:30 | 只看该作者
讨论很热闹,学习了。


回复

使用道具 举报

74#
 楼主| 发表于 2010-8-12 10:27:13 | 只看该作者
lianjiang大元帅,您帮帮忙啊!
您的windows一键备份失败,如何删除?
==============


@echo off
cls
ghost.exe -dd
awk.exe -f lastdrv.awk ghststat.txt|nset bakp=$1
ghost.exe -clone,mode=pdump,src=1:1,dst=%bakp%\winc.gho -fx -sure -fro -rb -auto -nousb -noide -no1394 -ntil -z2

%bakp%显示【1.3:\winc.gho 】备份

if errorlevel 1 goto error
echo  Backup ok Success
pause
goto exit

:error
echo Backup Wrong Fail
pause

dspt 0 /l /y >c:\disk.txt
pause

disk.txt:
Disk  Partitions  Cylinders  Heads  Sectors  TotalSectors   Mbytes
0       3         4092       16      63      4124736       2014   

No.  Drv  Type    Volume      PartType       Act  Offset      Sectors    MBytes
1       Primary              HPFS/NTFS      Yes  63          3298113    1610
2    C: Logic    OFFICE2G    Win95_FAT32         3298239     310401     151
3       Logic    PE2G        HPFS/NTFS           3608703     516033     251

omnifs dir %bakp%\ >c:\x.omn
pause

x.omn:

【Couldn't list 1:3\: DOS error: path not found (0x0003)】

omnifs dir %bakp%\ |awk.exe '$4~"winc"'|awk '{printf "delete %bakp%";printf "%%c",92;print $4}' >c:\x1.omn
pause
x1.omn:

空白,没有资料。

:exit
回复

使用道具 举报

75#
发表于 2010-8-12 16:39:45 | 只看该作者
要得就是
%bakp%显示【1.3:\winc.gho 】备份
可是没看懂

%bakp% 的内容是什么 ? 是 “1.3: ” ? 还是“【1.3:\winc.gho 】备份” ?

上一楼告诉你用
omnifs dir %bakp%:\|awk '$4~"winc"'|awk '{printf "delete %bakp%:";printf "%%c",92;print $4}' >x.omn

测试下: 注意那个 “:” 是新添加的。

[ 本帖最后由 dos时代菜鸟 于 2010-8-12 16:49 编辑 ]
回复

使用道具 举报

76#
发表于 2010-8-12 17:24:15 | 只看该作者
来自官方的说明:

删除文件
delete 命令的语法如下:
delete <source>
源参数必须以绝对路径指定,且路径必须有效。不接受通配符。
例如:
delete 2:1\user\data.txt
只会删除空目录。
删除文件夹
deltree 命令的语法如下:
deltree <source>
此命令类似 delete,但其源是目录。在删除目录之前,会先删除目录的内容,包括
所有子目录。
回复

使用道具 举报

77#
发表于 2010-8-12 17:46:57 | 只看该作者

omnifs32 删除文件 图

omnifs32 删除文件
回复

使用道具 举报

78#
 楼主| 发表于 2010-8-13 08:10:54 | 只看该作者
这样的方式,后学已经试过,就是无法删除逻辑分区【格式NTFS】的gho,是不是版本不同,不能删除??

[ 本帖最后由 chen463 于 2010-8-13 08:12 编辑 ]
回复

使用道具 举报

79#
发表于 2010-8-13 09:44:40 | 只看该作者
原帖由 chen463 于 2010-8-13 08:10 发表
这样的方式,后学已经试过,就是无法删除逻辑分区【格式NTFS】的gho,是不是版本不同,不能删除??



磁盘扇区存储错误!也能导致该扇区上的文件无法删除。

还有就是 你的 那个 %bakp% 的内容到底是什么?还没说清楚。这是问题的关键
你 75# omnifs dir %bakp%\  无法 考证是否 准确,就是因为 %bakp% 内容是否符合omnifs的要求不得而知,你直接运行 omnifs dir 1.3:\  看看 结果,再运行  echo %bakp% 看一下他的内容阿



再这样下去,我都没信心帮你了。

[ 本帖最后由 dos时代菜鸟 于 2010-8-13 11:01 编辑 ]
回复

使用道具 举报

80#
 楼主| 发表于 2010-8-13 11:39:10 | 只看该作者
原帖由 dos时代菜鸟 于 2010-8-13 09:44 发表



磁盘扇区存储错误!也能导致该扇区上的文件无法删除。

还有就是 你的 那个 %bakp% 的内容到底是什么?还没说清楚。这是问题的关键
你 75# omnifs dir %bakp%\  无法 考证是否 准确,就是因为 %bakp%  ...

@echo off
cls
ghost.exe -dd
awk.exe -f lastdrv.awk ghststat.txt|nset bakp=$1
ghost.exe -clone,mode=pdump,src=1:1,dst=%bakp%\winc.gho -fx -sure -fro -rb -auto -nousb -noide -no1394 -ntil -z2
echo %bakp% >c:\D.omn
显示[1:3 ]
if errorlevel 1 goto error
echo  Backup ok Success
pause
goto exit
:error
echo Backup Wrong Fail
pause
omnifs.exe delete 1:3\winc.gho >c:\x1.omn
显示【Unable to delete 1:3\winc.gho: DOS error: path not found (0x0003)】
omnifs.exe delete 1:3:\winc.gho >c:\x2.omn
显示【Unable to delete 1:3\winc.gho: DOS error: path not found (0x0003)】
omnifs.exe delete 1.3\winc.gho >c:\x3.omn
显示【Unable to delete 1:3\winc.gho: DOS error: path not found (0x0003)】
omnifs.exe delete 1.3:\winc.gho >c:\x4.omn
没有资料
pause

:exit

终于删除了,o(∩_∩)o...哈哈
答案:4
omnifs.exe delete 1.3:\winc.gho >c:\x4.omn

不要没有信心啦!问题总是可以解决的
接下来,应该如何变数完成
omnifs.exe delete 1.3:\winc.gho
回复

使用道具 举报

81#
发表于 2010-8-13 11:54:05 | 只看该作者
%part% 的内容是 1:3 而 OMNIFS 要求是 1.3 这就是症结所在。把 %PART% 中的 : 变成 .
我早说是 这里面的问题,都10多贴了,才找出来。
用 OMNIFS INFO 就可以获知 OMNIFS 的分区标号格式。
用NSET 就可以把 : 变成 .  


下面是 nset 的解决方案
这里必须考虑到 WINC*.* 多个文件的情况
1 .用NSET 根据 BAKP变量设置出 变量P 符合OMNIFS 调用需求
2. 用OMNIFS dIR 获取 %P% 根目录下全部文件/文件夹列表,并通过AWK 筛选出名字 包含 WINC 的文件,并再次交由AWK 生成一个 删除这些 WINC*.* 文件的OMNIFS 用的脚本 --X.OMN 。
3、 用 OMNIFS 调用这个脚本 X.OMN 来删除 WINC*.*
4、删除 X.OMN

-----------------------------------
@echo off
echo %bakp%|nset /s: p=$1.$2:
omnifs dir %p%\|awk 'toupper($4)~"WINC" && $3!~"DIR"'|awk '{printf "delete %p%";printf "%%c",92;print $4}' >x.omn
omnifs script x.omn


[ 本帖最后由 dos时代菜鸟 于 2010-8-13 13:27 编辑 ]
回复

使用道具 举报

82#
 楼主| 发表于 2010-8-13 12:29:56 | 只看该作者
原帖由 dos时代菜鸟 于 2010-8-13 11:54 发表
%part% 的内容是 1:3 而 OMNIFS 要求是 1.3 这就是症结所在。把 %PART% 中的 : 变成 .
我早说是 这里面的问题,都10多贴了,才找出来。
用 OMNIFS INFO 就可以获知 OMNIFS 的分区标号格式。
用NSET 就可以把 ...

感谢大大的辛苦指导,来试试,如果从起头都是以omnifs info来辨别最后分区,又该如何处理过程%bakp%。。。
回复

使用道具 举报

83#
发表于 2010-8-13 12:36:13 | 只看该作者
原帖由 chen463 于 2010-8-13 12:29 发表

感谢大大的辛苦指导,来试试,如果从起头都是以omnifs info来辨别最后分区,又该如何处理过程%bakp%。。。

1、先用上面的命令 解决问题再说
2、去研究一下 批处理逻辑编程 和 AWK ,还有 OMNIFS 的用法。再考虑以后改进吧。
回复

使用道具 举报

84#
 楼主| 发表于 2010-8-13 12:41:14 | 只看该作者
原帖由 dos时代菜鸟 于 2010-8-13 12:36 发表

1、先用上面的命令 解决问题再说
2、去研究一下 批处理逻辑编程 和 AWK ,还有 OMNIFS 的用法。再考虑以后改进吧。

上面的命令,试过。。。没有成功删除gho

吃饭先休息了,谢谢!

[ 本帖最后由 chen463 于 2010-8-13 12:43 编辑 ]
回复

使用道具 举报

85#
发表于 2010-8-13 12:56:05 | 只看该作者
彻底没有信心了,崩溃了
看来帮不了你了,还是给你一个现成的吧,不然,容易被你弄疯了。
http://u.115.com/file/f5ed5dffd8  del_winc.rar




[ 本帖最后由 dos时代菜鸟 于 2010-8-13 14:08 编辑 ]
回复

使用道具 举报

86#
 楼主| 发表于 2010-8-13 14:36:20 | 只看该作者
原帖由 dos时代菜鸟 于 2010-8-13 12:56 发表
彻底没有信心了,崩溃了
看来帮不了你了,还是给你一个现成的吧,不然,容易被你弄疯了。
http://u.115.com/file/f5ed5dffd8  del_winc.rar


96929

o(∩_∩)o...哈哈。。。借助del_winc.bat终于删除了,感谢万分。
老大批处理的功夫,后学对你是很有信心的,
自从老大制作DOS工具img,不是也一直默默耕耘更新中,
学习的精神让后学对人生,体悟良多,感谢再感谢!
回复

使用道具 举报

87#
发表于 2010-8-13 16:15:54 | 只看该作者
del_winc 适用于多个硬盘中最后一个分区的确定,
不知道你的功能 是否完全适用。还是自己慢慢摸索吧。

如果,第二主引导分区 不是最后一个分区呢?如果最后一个分区在第二硬盘呢?情况还很多,需要安装的时候就考虑到。

[ 本帖最后由 dos时代菜鸟 于 2010-8-13 16:20 编辑 ]
回复

使用道具 举报

88#
 楼主| 发表于 2010-8-13 18:09:33 | 只看该作者
原帖由 dos时代菜鸟 于 2010-8-13 16:15 发表
del_winc 适用于多个硬盘中最后一个分区的确定,
不知道你的功能 是否完全适用。还是自己慢慢摸索吧。

如果,第二主引导分区 不是最后一个分区呢?如果最后一个分区在第二硬盘呢?情况还很多,需要安装的时 ...

的确!如果插入U盘就失败了,不过还是可以使用的,谢谢!【不要使用u盘和第二盘】
回复

使用道具 举报

89#
发表于 2010-8-13 20:22:48 | 只看该作者
原帖由 chen463 于 2010-8-13 18:09 发表

的确!如果插入U盘就失败了,不过还是可以使用的,谢谢!【不要使用u盘和第二盘】


情况很多比如:
两个固定硬盘
多个主引导分区
第一分区不是主引导分区
最后一个分区是唯一的主引导分区
等等,情况复杂着呢。。。。。

del_winc.bat 更新,支持 搜索全部硬盘分区根目录下的 winc*.* 并删除之,要求 winc*.* 名称符合 dos 8.3 格式。
需要 omnifs 和 awk
DEL_WINC.rar (408 Bytes, 下载次数: 59)

[ 本帖最后由 dos时代菜鸟 于 2010-8-15 21:41 编辑 ]
回复

使用道具 举报

90#
发表于 2010-8-15 21:42:24 | 只看该作者
del_winc 更新下 ,看上楼
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-24 02:56

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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